{"action":"closed","issue":{"url":"https://api.github.com/repos/javabits/yar/issues/79","labels_url":"https://api.github.com/repos/javabits/yar/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/javabits/yar/issues/79/comments","events_url":"https://api.github.com/repos/javabits/yar/issues/79/events","html_url":"https://github.com/javabits/yar/issues/79","id":72130418,"number":79,"title":"Auto binding of the Guava Supplier, Yar Supplier and BlockingSupplier","user":{"login":"rgilles","id":449437,"avatar_url":"https://avatars.githubusercontent.com/u/449437?v=3","gravatar_id":"","url":"https://api.github.com/users/rgilles","html_url":"https://github.com/rgilles","followers_url":"https://api.github.com/users/rgilles/followers","following_url":"https://api.github.com/users/rgilles/following{/other_user}","gists_url":"https://api.github.com/users/rgilles/gists{/gist_id}","starred_url":"https://api.github.com/users/rgilles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgilles/subscriptions","organizations_url":"https://api.github.com/users/rgilles/orgs","repos_url":"https://api.github.com/users/rgilles/repos","events_url":"https://api.github.com/users/rgilles/events{/privacy}","received_events_url":"https://api.github.com/users/rgilles/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/javabits/yar/labels/compatibility-break","name":"compatibility-break","color":"009800"},{"url":"https://api.github.com/repos/javabits/yar/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/javabits/yar/labels/guice","name":"guice","color":"ededed"}],"state":"closed","locked":false,"assignee":{"login":"rgilles","id":449437,"avatar_url":"https://avatars.githubusercontent.com/u/449437?v=3","gravatar_id":"","url":"https://api.github.com/users/rgilles","html_url":"https://github.com/rgilles","followers_url":"https://api.github.com/users/rgilles/followers","following_url":"https://api.github.com/users/rgilles/following{/other_user}","gists_url":"https://api.github.com/users/rgilles/gists{/gist_id}","starred_url":"https://api.github.com/users/rgilles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgilles/subscriptions","organizations_url":"https://api.github.com/users/rgilles/orgs","repos_url":"https://api.github.com/users/rgilles/repos","events_url":"https://api.github.com/users/rgilles/events{/privacy}","received_events_url":"https://api.github.com/users/rgilles/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/javabits/yar/milestones/8","html_url":"https://github.com/javabits/yar/milestones/2.0.0.M1","labels_url":"https://api.github.com/repos/javabits/yar/milestones/8/labels","id":1068622,"number":8,"title":"2.0.0.M1","description":"Java 8 migratioin","creator":{"login":"rgilles","id":449437,"avatar_url":"https://avatars.githubusercontent.com/u/449437?v=3","gravatar_id":"","url":"https://api.github.com/users/rgilles","html_url":"https://github.com/rgilles","followers_url":"https://api.github.com/users/rgilles/followers","following_url":"https://api.github.com/users/rgilles/following{/other_user}","gists_url":"https://api.github.com/users/rgilles/gists{/gist_id}","starred_url":"https://api.github.com/users/rgilles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rgilles/subscriptions","organizations_url":"https://api.github.com/users/rgilles/orgs","repos_url":"https://api.github.com/users/rgilles/repos","events_url":"https://api.github.com/users/rgilles/events{/privacy}","received_events_url":"https://api.github.com/users/rgilles/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":5,"state":"closed","created_at":"2015-04-15T12:21:25Z","updated_at":"2015-05-14T06:44:12Z","due_on":"2015-05-08T22:00:00Z","closed_at":"2015-05-11T09:49:31Z"},"comments":0,"created_at":"2015-04-30T11:11:02Z","updated_at":"2015-05-14T06:44:12Z","closed_at":"2015-05-14T06:44:12Z","body":"As a developer I want to bind against a given service and be able to use it as follow:\r\n```java\r\n//binding part declaration:\r\nbind(HelloService.class).toRegistry();\r\n// ------\r\n//Injection parts\r\n// ------\r\n//Direct injection\r\n@Inject HelloService hello;\r\n//Guava Supplier injection in case of JDK 7 \r\n@Inject Supplier<HelloService> hello;\r\n//Yar Supplier injection in case of JDK 7 \r\n@Inject Supplier<HelloService> hello;\r\n//Supplier injection\r\n@Inject BlockingSupplier<HelloService> hello;\r\n```\r\nThis solution will provide the same approach than the Provider one.\r\n__Warning:__ this solution may introduce some duplicated bindings therefore it can be a behavioral incompatibility.\r\nMaybe the ```Binder::getProvider(...)``` method may help us to solve this problem."}}