{"action":"created","issue":{"url":"https://api.github.com/repos/pedrovgs/Renderers/issues/26","repository_url":"https://api.github.com/repos/pedrovgs/Renderers","labels_url":"https://api.github.com/repos/pedrovgs/Renderers/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/pedrovgs/Renderers/issues/26/comments","events_url":"https://api.github.com/repos/pedrovgs/Renderers/issues/26/events","html_url":"https://github.com/pedrovgs/Renderers/pull/26","id":155529030,"number":26,"title":"FIX #24. Changed generics in interface of RendererBuilder.","user":{"login":"roshakorost","id":2326845,"avatar_url":"https://avatars.githubusercontent.com/u/2326845?v=3","gravatar_id":"","url":"https://api.github.com/users/roshakorost","html_url":"https://github.com/roshakorost","followers_url":"https://api.github.com/users/roshakorost/followers","following_url":"https://api.github.com/users/roshakorost/following{/other_user}","gists_url":"https://api.github.com/users/roshakorost/gists{/gist_id}","starred_url":"https://api.github.com/users/roshakorost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roshakorost/subscriptions","organizations_url":"https://api.github.com/users/roshakorost/orgs","repos_url":"https://api.github.com/users/roshakorost/repos","events_url":"https://api.github.com/users/roshakorost/events{/privacy}","received_events_url":"https://api.github.com/users/roshakorost/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-05-18T15:17:55Z","updated_at":"2016-05-18T20:12:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/pedrovgs/Renderers/pulls/26","html_url":"https://github.com/pedrovgs/Renderers/pull/26","diff_url":"https://github.com/pedrovgs/Renderers/pull/26.diff","patch_url":"https://github.com/pedrovgs/Renderers/pull/26.patch"},"body":"Changed RendererBuilder generics for supporting descendants classes to FIX #24.\r\n\r\nE.g. In case when B, C extends A. This change allows to create `RendererBuilder<A>`\r\nAnd bind rendering C objects using `Renderer<C>` and B objects to render with `Renderer<B>`.\r\n\r\nAlso this change improves encapsulation.\r\n\r\nChanged constructor to public `RendererBuilder(Collection<? extends Renderer<? extends T>> prototypes)` that allows to use descendants.\r\ne.g. When we have class A that extends B, we can use for creating `RendererBuilder<B>` collection that contains `Renderer<A>` and `Renderer<B>`. And bindings will configure what renderer should be used for what model class.\r\n\r\nAdded copy of collection to constructor for better encapsulation.\r\n\r\n`getPrototypes` added Collections.unmodifiableList for better encapsulation.\r\n\r\npublic final void `setPrototypes(Collection<? extends Renderer<? extends T>> prototypes)`\r\nand `RendererBuilder<T> withPrototypes(Collection<? extends Renderer<? extends T>> prototypes)` changed to received descendants renderers."},"comment":{"url":"https://api.github.com/repos/pedrovgs/Renderers/issues/comments/220143842","html_url":"https://github.com/pedrovgs/Renderers/pull/26#issuecomment-220143842","issue_url":"https://api.github.com/repos/pedrovgs/Renderers/issues/26","id":220143842,"user":{"login":"roshakorost","id":2326845,"avatar_url":"https://avatars.githubusercontent.com/u/2326845?v=3","gravatar_id":"","url":"https://api.github.com/users/roshakorost","html_url":"https://github.com/roshakorost","followers_url":"https://api.github.com/users/roshakorost/followers","following_url":"https://api.github.com/users/roshakorost/following{/other_user}","gists_url":"https://api.github.com/users/roshakorost/gists{/gist_id}","starred_url":"https://api.github.com/users/roshakorost/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roshakorost/subscriptions","organizations_url":"https://api.github.com/users/roshakorost/orgs","repos_url":"https://api.github.com/users/roshakorost/repos","events_url":"https://api.github.com/users/roshakorost/events{/privacy}","received_events_url":"https://api.github.com/users/roshakorost/received_events","type":"User","site_admin":false},"created_at":"2016-05-18T20:12:42Z","updated_at":"2016-05-18T20:12:42Z","body":"Done.\r\n\r\n> In this project we are not using @author annotations\r\n But, looks like every class have it."}}