{"action":"created","comment":{"url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/comments/157158989","pull_request_review_id":83754378,"id":157158989,"diff_hunk":"@@ -0,0 +1,57 @@\n+/**\n+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.\n+ *\n+ * This library is free software; you can redistribute it and/or modify it under\n+ * the terms of the GNU Lesser General Public License as published by the Free\n+ * Software Foundation; either version 2.1 of the License, or (at your option)\n+ * any later version.\n+ *\n+ * This library is distributed in the hope that it will be useful, but WITHOUT\n+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more\n+ * details.\n+ */\n+\n+package com.liferay.apio.architect.router;\n+\n+import aQute.bnd.annotation.ConsumerType;\n+\n+import com.liferay.apio.architect.identifier.Identifier;\n+import com.liferay.apio.architect.routes.NestedCollectionRoutes;\n+import com.liferay.apio.architect.routes.NestedCollectionRoutes.Builder;\n+\n+/**\n+ * Instances of this interface represent the mapping between HTTP requests for a\n+ * nested collection resource and the functions that perform that requests.\n+ *\n+ * <p>\n+ * You can add the different supported routes for the nested collection resource\n+ * via the {@link #collectionRoutes(NestedCollectionRoutes.Builder)} method.\n+ * </p>\n+ *\n+ * <p>\n+ * The union of an instance of this interface with a {@link\n+ * com.liferay.apio.architect.representor.Representable} creates a complete\n+ * resource that will behave as its own API.\n+ * </p>\n+ *\n+ * @author Alejandro Hernández\n+ * @see    NestedCollectionRoutes.Builder\n+ * @review\n+ */\n+@ConsumerType\n+@SuppressWarnings(\"unused\")\n+public interface NestedCollectionRouter<T, U, V extends Identifier> {","path":"apio-architect-api/src/main/java/com/liferay/apio/architect/router/NestedCollectionRouter.java","position":44,"original_position":44,"commit_id":"5e080af930b2a2e7b31983e1541734accbb18bbc","original_commit_id":"8c99dba2d70034bf9399c7679d0ff573bcc681b0","user":{"login":"nhpatt","id":340653,"avatar_url":"https://avatars1.githubusercontent.com/u/340653?v=4","gravatar_id":"","url":"https://api.github.com/users/nhpatt","html_url":"https://github.com/nhpatt","followers_url":"https://api.github.com/users/nhpatt/followers","following_url":"https://api.github.com/users/nhpatt/following{/other_user}","gists_url":"https://api.github.com/users/nhpatt/gists{/gist_id}","starred_url":"https://api.github.com/users/nhpatt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nhpatt/subscriptions","organizations_url":"https://api.github.com/users/nhpatt/orgs","repos_url":"https://api.github.com/users/nhpatt/repos","events_url":"https://api.github.com/users/nhpatt/events{/privacy}","received_events_url":"https://api.github.com/users/nhpatt/received_events","type":"User","site_admin":false},"body":"Why not T, U extends Identifier, V and that way the signature is the same as the root router but with the additional type","created_at":"2017-12-15T09:46:49Z","updated_at":"2017-12-15T09:47:55Z","html_url":"https://github.com/liferay/com-liferay-apio-architect/pull/115#discussion_r157158989","pull_request_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/comments/157158989"},"html":{"href":"https://github.com/liferay/com-liferay-apio-architect/pull/115#discussion_r157158989"},"pull_request":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115"}}},"pull_request":{"url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115","id":158178826,"html_url":"https://github.com/liferay/com-liferay-apio-architect/pull/115","diff_url":"https://github.com/liferay/com-liferay-apio-architect/pull/115.diff","patch_url":"https://github.com/liferay/com-liferay-apio-architect/pull/115.patch","issue_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/115","number":115,"state":"open","locked":false,"title":"VULCAN-101 Split CollectionResource into several interfaces","user":{"login":"ahdezma","id":9027541,"avatar_url":"https://avatars0.githubusercontent.com/u/9027541?v=4","gravatar_id":"","url":"https://api.github.com/users/ahdezma","html_url":"https://github.com/ahdezma","followers_url":"https://api.github.com/users/ahdezma/followers","following_url":"https://api.github.com/users/ahdezma/following{/other_user}","gists_url":"https://api.github.com/users/ahdezma/gists{/gist_id}","starred_url":"https://api.github.com/users/ahdezma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahdezma/subscriptions","organizations_url":"https://api.github.com/users/ahdezma/orgs","repos_url":"https://api.github.com/users/ahdezma/repos","events_url":"https://api.github.com/users/ahdezma/events{/privacy}","received_events_url":"https://api.github.com/users/ahdezma/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-12-13T19:10:45Z","updated_at":"2017-12-15T09:47:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b07286aa91e6d7712a133b45ccb17875c6fd314c","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115/commits","review_comments_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115/comments","review_comment_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/comments{/number}","comments_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/115/comments","statuses_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/statuses/5e080af930b2a2e7b31983e1541734accbb18bbc","head":{"label":"liferay:VULCAN-101","ref":"VULCAN-101","sha":"5e080af930b2a2e7b31983e1541734accbb18bbc","user":{"login":"liferay","id":131436,"avatar_url":"https://avatars3.githubusercontent.com/u/131436?v=4","gravatar_id":"","url":"https://api.github.com/users/liferay","html_url":"https://github.com/liferay","followers_url":"https://api.github.com/users/liferay/followers","following_url":"https://api.github.com/users/liferay/following{/other_user}","gists_url":"https://api.github.com/users/liferay/gists{/gist_id}","starred_url":"https://api.github.com/users/liferay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liferay/subscriptions","organizations_url":"https://api.github.com/users/liferay/orgs","repos_url":"https://api.github.com/users/liferay/repos","events_url":"https://api.github.com/users/liferay/events{/privacy}","received_events_url":"https://api.github.com/users/liferay/received_events","type":"Organization","site_admin":false},"repo":{"id":88645260,"name":"com-liferay-apio-architect","full_name":"liferay/com-liferay-apio-architect","owner":{"login":"liferay","id":131436,"avatar_url":"https://avatars3.githubusercontent.com/u/131436?v=4","gravatar_id":"","url":"https://api.github.com/users/liferay","html_url":"https://github.com/liferay","followers_url":"https://api.github.com/users/liferay/followers","following_url":"https://api.github.com/users/liferay/following{/other_user}","gists_url":"https://api.github.com/users/liferay/gists{/gist_id}","starred_url":"https://api.github.com/users/liferay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liferay/subscriptions","organizations_url":"https://api.github.com/users/liferay/orgs","repos_url":"https://api.github.com/users/liferay/repos","events_url":"https://api.github.com/users/liferay/events{/privacy}","received_events_url":"https://api.github.com/users/liferay/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/liferay/com-liferay-apio-architect","description":null,"fork":false,"url":"https://api.github.com/repos/liferay/com-liferay-apio-architect","forks_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/forks","keys_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/teams","hooks_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/hooks","issue_events_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/events{/number}","events_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/events","assignees_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/assignees{/user}","branches_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/branches{/branch}","tags_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/tags","blobs_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/refs{/sha}","trees_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/statuses/{sha}","languages_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/languages","stargazers_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/stargazers","contributors_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/contributors","subscribers_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/subscribers","subscription_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/subscription","commits_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/commits{/sha}","git_commits_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/commits{/sha}","comments_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/comments{/number}","issue_comment_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/comments{/number}","contents_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/contents/{+path}","compare_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/merges","archive_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/downloads","issues_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues{/number}","pulls_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls{/number}","milestones_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/milestones{/number}","notifications_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/labels{/name}","releases_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/releases{/id}","deployments_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/deployments","created_at":"2017-04-18T16:10:02Z","updated_at":"2017-12-12T23:33:13Z","pushed_at":"2017-12-15T08:49:28Z","git_url":"git://github.com/liferay/com-liferay-apio-architect.git","ssh_url":"git@github.com:liferay/com-liferay-apio-architect.git","clone_url":"https://github.com/liferay/com-liferay-apio-architect.git","svn_url":"https://github.com/liferay/com-liferay-apio-architect","homepage":null,"size":2708,"stargazers_count":6,"watchers_count":6,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":19,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0"},"forks":19,"open_issues":1,"watchers":6,"default_branch":"master"}},"base":{"label":"liferay:master","ref":"master","sha":"1597eef1805feabc5a61229d76c33153a09a5ed0","user":{"login":"liferay","id":131436,"avatar_url":"https://avatars3.githubusercontent.com/u/131436?v=4","gravatar_id":"","url":"https://api.github.com/users/liferay","html_url":"https://github.com/liferay","followers_url":"https://api.github.com/users/liferay/followers","following_url":"https://api.github.com/users/liferay/following{/other_user}","gists_url":"https://api.github.com/users/liferay/gists{/gist_id}","starred_url":"https://api.github.com/users/liferay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liferay/subscriptions","organizations_url":"https://api.github.com/users/liferay/orgs","repos_url":"https://api.github.com/users/liferay/repos","events_url":"https://api.github.com/users/liferay/events{/privacy}","received_events_url":"https://api.github.com/users/liferay/received_events","type":"Organization","site_admin":false},"repo":{"id":88645260,"name":"com-liferay-apio-architect","full_name":"liferay/com-liferay-apio-architect","owner":{"login":"liferay","id":131436,"avatar_url":"https://avatars3.githubusercontent.com/u/131436?v=4","gravatar_id":"","url":"https://api.github.com/users/liferay","html_url":"https://github.com/liferay","followers_url":"https://api.github.com/users/liferay/followers","following_url":"https://api.github.com/users/liferay/following{/other_user}","gists_url":"https://api.github.com/users/liferay/gists{/gist_id}","starred_url":"https://api.github.com/users/liferay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liferay/subscriptions","organizations_url":"https://api.github.com/users/liferay/orgs","repos_url":"https://api.github.com/users/liferay/repos","events_url":"https://api.github.com/users/liferay/events{/privacy}","received_events_url":"https://api.github.com/users/liferay/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/liferay/com-liferay-apio-architect","description":null,"fork":false,"url":"https://api.github.com/repos/liferay/com-liferay-apio-architect","forks_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/forks","keys_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/keys{/key_id}","collaborators_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/teams","hooks_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/hooks","issue_events_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/events{/number}","events_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/events","assignees_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/assignees{/user}","branches_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/branches{/branch}","tags_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/tags","blobs_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/refs{/sha}","trees_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/trees{/sha}","statuses_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/statuses/{sha}","languages_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/languages","stargazers_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/stargazers","contributors_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/contributors","subscribers_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/subscribers","subscription_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/subscription","commits_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/commits{/sha}","git_commits_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/git/commits{/sha}","comments_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/comments{/number}","issue_comment_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/comments{/number}","contents_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/contents/{+path}","compare_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/compare/{base}...{head}","merges_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/merges","archive_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/downloads","issues_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues{/number}","pulls_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls{/number}","milestones_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/milestones{/number}","notifications_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/labels{/name}","releases_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/releases{/id}","deployments_url":"https://api.github.com/repos/liferay/com-liferay-apio-architect/deployments","created_at":"2017-04-18T16:10:02Z","updated_at":"2017-12-12T23:33:13Z","pushed_at":"2017-12-15T08:49:28Z","git_url":"git://github.com/liferay/com-liferay-apio-architect.git","ssh_url":"git@github.com:liferay/com-liferay-apio-architect.git","clone_url":"https://github.com/liferay/com-liferay-apio-architect.git","svn_url":"https://github.com/liferay/com-liferay-apio-architect","homepage":null,"size":2708,"stargazers_count":6,"watchers_count":6,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":19,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"lgpl-3.0","name":"GNU Lesser General Public License v3.0","spdx_id":"LGPL-3.0","url":"https://api.github.com/licenses/lgpl-3.0"},"forks":19,"open_issues":1,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115"},"html":{"href":"https://github.com/liferay/com-liferay-apio-architect/pull/115"},"issue":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/115"},"comments":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/issues/115/comments"},"review_comments":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115/comments"},"review_comment":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/pulls/115/commits"},"statuses":{"href":"https://api.github.com/repos/liferay/com-liferay-apio-architect/statuses/5e080af930b2a2e7b31983e1541734accbb18bbc"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"nhpatt"}}