I suggest looking at the spring api for some sensible behaviours.
Den 22. nov. 2012 21:52 skrev "Christian Müller" <
christian.muel...@gmail.com> følgende:
>
> +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 ...?
>
> 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
>
>
>
>
> --