Class PlexusLifecycleManager

  • All Implemented Interfaces:
    com.google.inject.Module, BeanManager

    public final class PlexusLifecycleManager
    extends BeanScheduler
    implements BeanManager, com.google.inject.Module
    BeanManager that manages Plexus components requiring lifecycle management.
    • Field Detail

      • LIFECYCLE_TYPES

        private static final java.lang.Class<?>[] LIFECYCLE_TYPES
      • startableBeans

        private final java.util.Deque<Startable> startableBeans
      • disposableBeans

        private final java.util.Deque<Disposable> disposableBeans
      • consoleLogger

        private final Logger consoleLogger
      • plexusContextProvider

        private final javax.inject.Provider<Context> plexusContextProvider
      • plexusLoggerManagerProvider

        private final javax.inject.Provider<LoggerManager> plexusLoggerManagerProvider
      • slf4jLoggerFactoryProvider

        private final javax.inject.Provider<?> slf4jLoggerFactoryProvider
    • Constructor Detail

      • PlexusLifecycleManager

        public PlexusLifecycleManager​(javax.inject.Provider<Context> plexusContextProvider,
                                      javax.inject.Provider<LoggerManager> plexusLoggerManagerProvider,
                                      javax.inject.Provider<?> slf4jLoggerFactoryProvider,
                                      BeanManager delegate)
    • Method Detail

      • configure

        public void configure​(com.google.inject.Binder binder)
        Specified by:
        configure in interface com.google.inject.Module
      • manage

        public boolean manage​(java.lang.Class<?> clazz)
        Description copied from interface: BeanManager
        Decides whether instances of the given bean type should be reported to this manager.
        Specified by:
        manage in interface BeanManager
        Parameters:
        clazz - The bean type
        Returns:
        true if instances of the bean should be reported; otherwise false
      • manage

        public PropertyBinding manage​(BeanProperty property)
        Description copied from interface: BeanManager
        Asks this manager to manage the given bean property.
        Specified by:
        manage in interface BeanManager
        Parameters:
        property - The bean property
        Returns:
        Non-null binding if the bean property was managed; otherwise null
      • manage

        public boolean manage​(java.lang.Object bean)
        Description copied from interface: BeanManager
        Asks this manager to manage the given bean instance.
        Specified by:
        manage in interface BeanManager
        Parameters:
        bean - The bean instance
        Returns:
        true if the bean instance was managed; otherwise false
      • unmanage

        public boolean unmanage​(java.lang.Object bean)
        Description copied from interface: BeanManager
        Asks this manager to unmanage the given bean instance.
        Specified by:
        unmanage in interface BeanManager
        Parameters:
        bean - The bean instance
        Returns:
        true if the bean instance was unmanaged; otherwise false
      • unmanage

        public boolean unmanage()
        Description copied from interface: BeanManager
        Asks this manager to unmanage all the bean instances it knows about.
        Specified by:
        unmanage in interface BeanManager
        Returns:
        true if any bean instances were unmanaged; otherwise false
      • activate

        protected void activate​(java.lang.Object bean)
        Description copied from class: BeanScheduler
        Customized activation of the given bean.
        Specified by:
        activate in class BeanScheduler
        Parameters:
        bean - The bean to activate
      • getPlexusLogger

        Logger getPlexusLogger​(java.lang.Object bean)
      • getSLF4JLogger

        java.lang.Object getSLF4JLogger​(java.lang.Object bean)
      • synchronizedPush

        private static <T> void synchronizedPush​(java.util.Deque<T> deque,
                                                 T element)
      • synchronizedRemove

        private static boolean synchronizedRemove​(java.util.Deque<?> deque,
                                                  java.lang.Object element)
      • synchronizedPop

        private static <T> T synchronizedPop​(java.util.Deque<T> deque)
      • start

        private void start​(Startable bean)
      • stop

        private void stop​(Startable bean)
      • dispose

        private void dispose​(Disposable bean)