On Thu, Nov 22, 2012 at 9:51 PM, Christian Müller <christian.muel...@gmail.com> wrote: > +1 > I'm fine with this changes. I'm only wondering what is the intention for > "lookupByNameAndType"? Throwing an exception if the type is different? Or > returning null? Or ...? >
I also suggest cutting down on the number of methods. Currently we have 3. If we can keep a sensible balance. IMHO adding +3 new methods may be overkill. > Best, > Christian > > On Tue, Nov 20, 2012 at 6:16 PM, Łukasz Dywicki <l...@code-house.org> wrote: > >> Dear all, >> During my work on camel-cdi component and cdi itself I realized that beans >> don't have to be named. They have qualifiers, which are more generic >> approach. To put some name on bean user must use @Named qualifier. >> >> This model doesn't fit very well to current camel registry SPI. For >> example if component developer is interested in returning all instances of >> given type he must name them. Next thing is Injector stuff, which allows >> usage of type to create instance. It's overlaps in some places same logic >> as most popular integration we have (Spring) uses ApplicationContext in >> both. >> I know that logically Registry and Injector are different ideas, however >> in 99.9% people use same Registry and Injector provider. Why we support >> that then? >> >> The proposal I bring here is following: >> interface Registry { >> // named lookups >> lookupByName(String name) : Object >> lookupByNameAndType(String name, Class<T> type) : T >> >> // typed lookups >> lookupByType(Class<T> type) : T >> lookupByType(Class<T> type, boolean createIfNotFound) : T >> >> // find calls >> findByTypeWithName(Class<T> type) : Map<String, T> >> findByType(Class<T> type) : Set<T> >> } >> >> I reviewed usage of current lookupByType which returns map and in most >> places key from returned map is not used at all. >> WDYT? >> -- >> Łukasz Dywicki >> l...@code-house.org >> Twitter: ldywicki >> Blog: http://dywicki.pl >> Code-House - http://code-house.org > > > > > -- -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen