Package org.eclipse.sisu.inject
Class DefaultBeanLocator
- java.lang.Object
-
- org.eclipse.sisu.inject.DefaultBeanLocator
-
- All Implemented Interfaces:
BeanLocator,MutableBeanLocator
public final class DefaultBeanLocator extends Object implements MutableBeanLocator
DefaultMutableBeanLocatorthat locates qualified beans across a dynamic group ofBindingPublishers.
-
-
Constructor Summary
Constructors Constructor Description DefaultBeanLocator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(BindingPublisher publisher)Adds the given rankedBindingPublisherand distributes itsBindings.voidclear()Removes all knownBindingPublishers and theirBindings.Iterable<BeanEntry>locate(com.google.inject.Key key)Finds bean implementations that match the given qualified bindingKey.Iterable<BindingPublisher>publishers()Snapshot of currently registeredBindingPublishers.booleanremove(BindingPublisher publisher)Removes the givenBindingPublisherand itsBindings.voidwatch(com.google.inject.Key key, Mediator mediator, Object watcher)Tracks bean implementations that match the given qualified bindingKey.
-
-
-
Method Detail
-
locate
public Iterable<BeanEntry> locate(com.google.inject.Key key)
Description copied from interface:BeanLocatorFinds bean implementations that match the given qualified bindingKey.- Specified by:
locatein interfaceBeanLocator- Parameters:
key- The qualified key- Returns:
- Sequence of bean entries that match the given key
-
watch
public void watch(com.google.inject.Key key, Mediator mediator, Object watcher)Description copied from interface:BeanLocatorTracks bean implementations that match the given qualified bindingKey.Uses the
Mediatorpattern to send events to an arbitrary watcher object.- Specified by:
watchin interfaceBeanLocator- Parameters:
key- The qualified keymediator- The event mediatorwatcher- The bean watcher
-
add
public boolean add(BindingPublisher publisher)
Description copied from interface:MutableBeanLocatorAdds the given rankedBindingPublisherand distributes itsBindings.- Specified by:
addin interfaceMutableBeanLocator- Parameters:
publisher- The new publisher- Returns:
trueif the publisher was added; otherwisefalse
-
remove
public boolean remove(BindingPublisher publisher)
Description copied from interface:MutableBeanLocatorRemoves the givenBindingPublisherand itsBindings.- Specified by:
removein interfaceMutableBeanLocator- Parameters:
publisher- The old publisher- Returns:
trueif the publisher was removed; otherwisefalse
-
publishers
public Iterable<BindingPublisher> publishers()
Description copied from interface:MutableBeanLocatorSnapshot of currently registeredBindingPublishers.- Specified by:
publishersin interfaceMutableBeanLocator- Returns:
- The registered
BindingPublishers
-
clear
public void clear()
Description copied from interface:MutableBeanLocatorRemoves all knownBindingPublishers and theirBindings.- Specified by:
clearin interfaceMutableBeanLocator
-
-