@Singleton public final class DefaultBeanLocator extends ReentrantLock implements MutableBeanLocator
MutableBeanLocator
that locates qualified beans across a dynamic group of BindingPublisher
s.Constructor and Description |
---|
DefaultBeanLocator() |
Modifier and Type | Method and Description |
---|---|
void |
add(BindingPublisher publisher,
int rank)
Adds the given ranked
BindingPublisher and distributes its Binding s. |
void |
add(com.google.inject.Injector injector,
int rank)
Adds the given ranked
Injector and distributes its Binding s. |
void |
clear()
Removes all known
BindingPublisher s and their Binding s. |
Iterable<BeanEntry> |
locate(com.google.inject.Key key)
Finds bean implementations that match the given qualified binding
Key . |
void |
remove(BindingPublisher publisher)
Removes the given
BindingPublisher and its Binding s. |
void |
remove(com.google.inject.Injector injector)
Removes the given
Injector and its Binding s. |
void |
watch(com.google.inject.Key key,
Mediator mediator,
Object watcher)
Tracks bean implementations that match the given qualified binding
Key . |
getHoldCount, getOwner, getQueuedThreads, getQueueLength, getWaitingThreads, getWaitQueueLength, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isHeldByCurrentThread, isLocked, lock, lockInterruptibly, newCondition, toString, tryLock, tryLock, unlock
public Iterable<BeanEntry> locate(com.google.inject.Key key)
BeanLocator
Key
.locate
in interface BeanLocator
key
- The qualified keypublic void watch(com.google.inject.Key key, Mediator mediator, Object watcher)
BeanLocator
Key
.
Uses the Mediator
pattern to send events to an arbitrary watcher object.
watch
in interface BeanLocator
key
- The qualified keymediator
- The event mediatorwatcher
- The bean watcherpublic void add(BindingPublisher publisher, int rank)
BindingDistributor
BindingPublisher
and distributes its Binding
s.add
in interface BindingDistributor
publisher
- The new publisherrank
- The assigned rankpublic void remove(BindingPublisher publisher)
BindingDistributor
BindingPublisher
and its Binding
s.remove
in interface BindingDistributor
publisher
- The old publisherpublic void clear()
BindingDistributor
BindingPublisher
s and their Binding
s.clear
in interface BindingDistributor
public void add(com.google.inject.Injector injector, int rank)
MutableBeanLocator
Injector
and distributes its Binding
s. Marked as deprecated because most
clients should not call this method; any injector that contains a binding to the BeanLocator
is
automatically added to that locator as part of the bootstrapping process.add
in interface MutableBeanLocator
injector
- The new injectorrank
- The assigned rankpublic void remove(com.google.inject.Injector injector)
MutableBeanLocator
Injector
and its Binding
s.remove
in interface MutableBeanLocator
injector
- The old injectorCopyright © 2010-2015 Sonatype, Inc.. All Rights Reserved.