public final class PlexusLifecycleManager extends BeanScheduler implements BeanManager, com.google.inject.Module
BeanManager that manages Plexus components requiring lifecycle management.| Modifier and Type | Field and Description |
|---|---|
private Logger |
consoleLogger |
private BeanManager |
delegate |
private java.util.Deque<Disposable> |
disposableBeans |
private static java.lang.Class<?>[] |
LIFECYCLE_TYPES |
private javax.inject.Provider<Context> |
plexusContextProvider |
private javax.inject.Provider<LoggerManager> |
plexusLoggerManagerProvider |
private javax.inject.Provider<?> |
slf4jLoggerFactoryProvider |
private java.util.Deque<Startable> |
startableBeans |
MODULE| Constructor and Description |
|---|
PlexusLifecycleManager(javax.inject.Provider<Context> plexusContextProvider,
javax.inject.Provider<LoggerManager> plexusLoggerManagerProvider,
javax.inject.Provider<?> slf4jLoggerFactoryProvider,
BeanManager delegate) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
activate(java.lang.Object bean)
Customized activation of the given bean.
|
void |
configure(com.google.inject.Binder binder) |
private void |
contextualize(Contextualizable bean) |
private void |
dispose(Disposable bean) |
(package private) Logger |
getPlexusLogger(java.lang.Object bean) |
(package private) java.lang.Object |
getSLF4JLogger(java.lang.Object bean) |
private void |
initialize(Initializable bean) |
PropertyBinding |
manage(BeanProperty property)
Asks this manager to manage the given bean property.
|
boolean |
manage(java.lang.Class<?> clazz)
Decides whether instances of the given bean type should be reported to this manager.
|
boolean |
manage(java.lang.Object bean)
Asks this manager to manage the given bean instance.
|
private void |
start(Startable bean) |
private void |
stop(Startable bean) |
private static <T> T |
synchronizedPop(java.util.Deque<T> deque) |
private static <T> void |
synchronizedPush(java.util.Deque<T> deque,
T element) |
private static boolean |
synchronizedRemove(java.util.Deque<?> deque,
java.lang.Object element) |
boolean |
unmanage()
Asks this manager to unmanage all the bean instances it knows about.
|
boolean |
unmanage(java.lang.Object bean)
Asks this manager to unmanage the given bean instance.
|
detectCycle, scheduleprivate static final java.lang.Class<?>[] LIFECYCLE_TYPES
private final java.util.Deque<Startable> startableBeans
private final java.util.Deque<Disposable> disposableBeans
private final Logger consoleLogger
private final javax.inject.Provider<Context> plexusContextProvider
private final javax.inject.Provider<LoggerManager> plexusLoggerManagerProvider
private final javax.inject.Provider<?> slf4jLoggerFactoryProvider
private final BeanManager delegate
public PlexusLifecycleManager(javax.inject.Provider<Context> plexusContextProvider, javax.inject.Provider<LoggerManager> plexusLoggerManagerProvider, javax.inject.Provider<?> slf4jLoggerFactoryProvider, BeanManager delegate)
public void configure(com.google.inject.Binder binder)
configure in interface com.google.inject.Modulepublic boolean manage(java.lang.Class<?> clazz)
BeanManagermanage in interface BeanManagerclazz - The bean typetrue if instances of the bean should be reported; otherwise falsepublic PropertyBinding manage(BeanProperty property)
BeanManagermanage in interface BeanManagerproperty - The bean propertynullpublic boolean manage(java.lang.Object bean)
BeanManagermanage in interface BeanManagerbean - The bean instancetrue if the bean instance was managed; otherwise falsepublic boolean unmanage(java.lang.Object bean)
BeanManagerunmanage in interface BeanManagerbean - The bean instancetrue if the bean instance was unmanaged; otherwise falsepublic boolean unmanage()
BeanManagerunmanage in interface BeanManagertrue if any bean instances were unmanaged; otherwise falseprotected void activate(java.lang.Object bean)
BeanScheduleractivate in class BeanSchedulerbean - The bean to activateLogger getPlexusLogger(java.lang.Object bean)
java.lang.Object getSLF4JLogger(java.lang.Object bean)
private static <T> void synchronizedPush(java.util.Deque<T> deque,
T element)
private static boolean synchronizedRemove(java.util.Deque<?> deque,
java.lang.Object element)
private static <T> T synchronizedPop(java.util.Deque<T> deque)
private void contextualize(Contextualizable bean)
private void initialize(Initializable bean)
private void start(Startable bean)
private void stop(Startable bean)
private void dispose(Disposable bean)