Package org.codehaus.plexus
Class DefaultPlexusContainer
- java.lang.Object
-
- org.codehaus.plexus.DefaultPlexusContainer
-
- All Implemented Interfaces:
MutablePlexusContainer,PlexusContainer
public final class DefaultPlexusContainer extends java.lang.Object implements MutablePlexusContainer
PlexusContainershim that delegates to a Plexus-aware GuiceInjector.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classDefaultPlexusContainer.BootModule(package private) classDefaultPlexusContainer.ContainerModule(package private) classDefaultPlexusContainer.DefaultsModule(package private) classDefaultPlexusContainer.LoggerManagerProvider(package private) classDefaultPlexusContainer.LoggerProvider(package private) classDefaultPlexusContainer.SLF4JLoggerFactoryProvider
-
Field Summary
Fields Modifier and Type Field Description (package private) ClassRealmManagerclassRealmManagerprivate java.lang.StringcomponentVisibilityprivate com.google.inject.ModulecontainerModule(package private) org.codehaus.plexus.classworlds.realm.ClassRealmcontainerRealm(package private) Contextcontextprivate static java.lang.StringDEFAULT_REALM_NAMEprivate com.google.inject.ModuledefaultsModule(package private) java.util.Map<org.codehaus.plexus.classworlds.realm.ClassRealm,java.util.List<ComponentDescriptor<?>>>descriptorMapprivate booleandisposingprivate booleanisAutoWiringEnabledprivate Loggerloggerprivate LoggerManagerloggerManager(package private) DefaultPlexusContainer.LoggerManagerProviderloggerManagerProvider(package private) java.lang.ThreadLocal<org.codehaus.plexus.classworlds.realm.ClassRealm>lookupRealmprivate static com.google.inject.Module[]NO_CUSTOM_MODULES(package private) PlexusBeanLocatorplexusBeanLocator(package private) BeanManagerplexusBeanManager(package private) java.util.concurrent.atomic.AtomicIntegerplexusRank(package private) MutableBeanLocatorqualifiedBeanLocatorprivate BeanScanningscanning(package private) java.util.Map<?,?>variables
-
Constructor Summary
Constructors Constructor Description DefaultPlexusContainer()DefaultPlexusContainer(ContainerConfiguration configuration)DefaultPlexusContainer(ContainerConfiguration configuration, com.google.inject.Module... customModules)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddComponent(java.lang.Object component, java.lang.String role)<T> voidaddComponent(T component, java.lang.Class<?> role, java.lang.String hint)<T> voidaddComponentDescriptor(ComponentDescriptor<T> descriptor)com.google.inject.InjectoraddPlexusInjector(java.util.List<? extends PlexusBeanModule> beanModules, com.google.inject.Module... customModules)org.codehaus.plexus.classworlds.realm.ClassRealmcreateChildRealm(java.lang.String id)java.util.List<ComponentDescriptor<?>>discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm)java.util.List<ComponentDescriptor<?>>discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm, com.google.inject.Module... customModules)voiddispose()org.codehaus.plexus.classworlds.ClassWorldgetClassWorld()<T> ComponentDescriptor<T>getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String hint)ComponentDescriptor<?>getComponentDescriptor(java.lang.String role, java.lang.String hint)<T> java.util.List<ComponentDescriptor<T>>getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)java.util.ListgetComponentDescriptorList(java.lang.String role)<T> java.util.Map<java.lang.String,ComponentDescriptor<T>>getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)java.util.MapgetComponentDescriptorMap(java.lang.String role)org.codehaus.plexus.classworlds.realm.ClassRealmgetContainerRealm()ContextgetContext()private static ContextgetContextComponent(ContainerConfiguration configuration)LoggergetLogger()LoggerManagergetLoggerManager()org.codehaus.plexus.classworlds.realm.ClassRealmgetLookupRealm()private java.util.Collection<org.codehaus.plexus.classworlds.realm.ClassRealm>getVisibleRealms()booleanhasComponent(java.lang.Class role)booleanhasComponent(java.lang.Class role, java.lang.String hint)booleanhasComponent(java.lang.Class type, java.lang.String role, java.lang.String hint)booleanhasComponent(java.lang.String role)booleanhasComponent(java.lang.String role, java.lang.String hint)private static <T> booleanhasPlexusBeans(java.lang.Iterable<PlexusBean<T>> beans)private <T> java.lang.Iterable<PlexusBean<T>>locate(java.lang.String role, java.lang.Class<T> type, java.lang.String... hints)<T> Tlookup(java.lang.Class<T> role)<T> Tlookup(java.lang.Class<T> role, java.lang.String hint)<T> Tlookup(java.lang.Class<T> type, java.lang.String role, java.lang.String hint)java.lang.Objectlookup(java.lang.String role)java.lang.Objectlookup(java.lang.String role, java.lang.String hint)private static org.codehaus.plexus.classworlds.realm.ClassRealmlookupContainerRealm(ContainerConfiguration configuration)Finds containerClassRealm, taking existingClassWorlds orClassLoaders into account.<T> java.util.List<T>lookupList(java.lang.Class<T> role)java.util.List<java.lang.Object>lookupList(java.lang.String role)<T> java.util.Map<java.lang.String,T>lookupMap(java.lang.Class<T> role)java.util.Map<java.lang.String,java.lang.Object>lookupMap(java.lang.String role)private java.net.URLlookupPlexusXml(ContainerConfiguration configuration)Finds container configuration URL, may search the containerClassRealmand local file-system.private static <T> ComponentDescriptor<T>newComponentDescriptor(java.lang.String role, PlexusBean<T> bean)private static BeanScanningparseScanningOption(java.lang.String scanning)voidrelease(java.lang.Object component)voidreleaseAll(java.util.List<?> components)voidreleaseAll(java.util.Map<java.lang.String,?> components)voidsetLoggerManager(LoggerManager loggerManager)org.codehaus.plexus.classworlds.realm.ClassRealmsetLookupRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
-
-
-
Field Detail
-
DEFAULT_REALM_NAME
private static final java.lang.String DEFAULT_REALM_NAME
- See Also:
- Constant Field Values
-
NO_CUSTOM_MODULES
private static final com.google.inject.Module[] NO_CUSTOM_MODULES
-
plexusRank
final java.util.concurrent.atomic.AtomicInteger plexusRank
-
descriptorMap
final java.util.Map<org.codehaus.plexus.classworlds.realm.ClassRealm,java.util.List<ComponentDescriptor<?>>> descriptorMap
-
lookupRealm
final java.lang.ThreadLocal<org.codehaus.plexus.classworlds.realm.ClassRealm> lookupRealm
-
loggerManagerProvider
final DefaultPlexusContainer.LoggerManagerProvider loggerManagerProvider
-
qualifiedBeanLocator
final MutableBeanLocator qualifiedBeanLocator
-
context
final Context context
-
variables
final java.util.Map<?,?> variables
-
containerRealm
final org.codehaus.plexus.classworlds.realm.ClassRealm containerRealm
-
classRealmManager
final ClassRealmManager classRealmManager
-
plexusBeanLocator
final PlexusBeanLocator plexusBeanLocator
-
plexusBeanManager
final BeanManager plexusBeanManager
-
componentVisibility
private final java.lang.String componentVisibility
-
isAutoWiringEnabled
private final boolean isAutoWiringEnabled
-
scanning
private final BeanScanning scanning
-
containerModule
private final com.google.inject.Module containerModule
-
defaultsModule
private final com.google.inject.Module defaultsModule
-
loggerManager
private LoggerManager loggerManager
-
logger
private Logger logger
-
disposing
private boolean disposing
-
-
Constructor Detail
-
DefaultPlexusContainer
public DefaultPlexusContainer() throws PlexusContainerException- Throws:
PlexusContainerException
-
DefaultPlexusContainer
public DefaultPlexusContainer(ContainerConfiguration configuration) throws PlexusContainerException
- Throws:
PlexusContainerException
-
DefaultPlexusContainer
public DefaultPlexusContainer(ContainerConfiguration configuration, com.google.inject.Module... customModules) throws PlexusContainerException
- Throws:
PlexusContainerException
-
-
Method Detail
-
getContext
public Context getContext()
- Specified by:
getContextin interfacePlexusContainer
-
lookup
public java.lang.Object lookup(java.lang.String role) throws ComponentLookupException- Specified by:
lookupin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookup
public java.lang.Object lookup(java.lang.String role, java.lang.String hint) throws ComponentLookupException- Specified by:
lookupin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(java.lang.Class<T> role) throws ComponentLookupException- Specified by:
lookupin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(java.lang.Class<T> role, java.lang.String hint) throws ComponentLookupException- Specified by:
lookupin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String hint) throws ComponentLookupException- Specified by:
lookupin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookupList
public java.util.List<java.lang.Object> lookupList(java.lang.String role) throws ComponentLookupException- Specified by:
lookupListin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookupList
public <T> java.util.List<T> lookupList(java.lang.Class<T> role) throws ComponentLookupException- Specified by:
lookupListin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookupMap
public java.util.Map<java.lang.String,java.lang.Object> lookupMap(java.lang.String role) throws ComponentLookupException- Specified by:
lookupMapin interfacePlexusContainer- Throws:
ComponentLookupException
-
lookupMap
public <T> java.util.Map<java.lang.String,T> lookupMap(java.lang.Class<T> role) throws ComponentLookupException- Specified by:
lookupMapin interfacePlexusContainer- Throws:
ComponentLookupException
-
hasComponent
public boolean hasComponent(java.lang.String role)
- Specified by:
hasComponentin interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.String role, java.lang.String hint)- Specified by:
hasComponentin interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.Class role)
- Specified by:
hasComponentin interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.Class role, java.lang.String hint)- Specified by:
hasComponentin interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.Class type, java.lang.String role, java.lang.String hint)- Specified by:
hasComponentin interfacePlexusContainer
-
addComponent
public void addComponent(java.lang.Object component, java.lang.String role)- Specified by:
addComponentin interfacePlexusContainer
-
addComponent
public <T> void addComponent(T component, java.lang.Class<?> role, java.lang.String hint)- Specified by:
addComponentin interfacePlexusContainer
-
addComponentDescriptor
public <T> void addComponentDescriptor(ComponentDescriptor<T> descriptor)
- Specified by:
addComponentDescriptorin interfacePlexusContainer
-
getComponentDescriptor
public ComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String hint)
- Specified by:
getComponentDescriptorin interfacePlexusContainer
-
getComponentDescriptor
public <T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String hint)
- Specified by:
getComponentDescriptorin interfacePlexusContainer
-
getComponentDescriptorList
public java.util.List getComponentDescriptorList(java.lang.String role)
- Specified by:
getComponentDescriptorListin interfacePlexusContainer
-
getComponentDescriptorList
public <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorListin interfacePlexusContainer
-
getComponentDescriptorMap
public java.util.Map getComponentDescriptorMap(java.lang.String role)
- Specified by:
getComponentDescriptorMapin interfacePlexusContainer
-
getComponentDescriptorMap
public <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorMapin interfacePlexusContainer
-
discoverComponents
public java.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
- Specified by:
discoverComponentsin interfacePlexusContainer
-
discoverComponents
public java.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm, com.google.inject.Module... customModules)
-
addPlexusInjector
public com.google.inject.Injector addPlexusInjector(java.util.List<? extends PlexusBeanModule> beanModules, com.google.inject.Module... customModules)
-
getClassWorld
public org.codehaus.plexus.classworlds.ClassWorld getClassWorld()
- Specified by:
getClassWorldin interfaceMutablePlexusContainer
-
getContainerRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm getContainerRealm()
- Specified by:
getContainerRealmin interfacePlexusContainer
-
setLookupRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm setLookupRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
- Specified by:
setLookupRealmin interfacePlexusContainer
-
getLookupRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm getLookupRealm()
- Specified by:
getLookupRealmin interfacePlexusContainer
-
createChildRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm createChildRealm(java.lang.String id)
- Specified by:
createChildRealmin interfacePlexusContainer
-
getLoggerManager
public LoggerManager getLoggerManager()
- Specified by:
getLoggerManagerin interfaceMutablePlexusContainer
-
setLoggerManager
@Inject(optional=true) public void setLoggerManager(LoggerManager loggerManager)
- Specified by:
setLoggerManagerin interfaceMutablePlexusContainer
-
getLogger
public Logger getLogger()
- Specified by:
getLoggerin interfaceMutablePlexusContainer
-
release
public void release(java.lang.Object component)
- Specified by:
releasein interfacePlexusContainer
-
releaseAll
public void releaseAll(java.util.Map<java.lang.String,?> components)
- Specified by:
releaseAllin interfacePlexusContainer
-
releaseAll
public void releaseAll(java.util.List<?> components)
- Specified by:
releaseAllin interfacePlexusContainer
-
dispose
public void dispose()
- Specified by:
disposein interfacePlexusContainer
-
parseScanningOption
private static BeanScanning parseScanningOption(java.lang.String scanning)
-
lookupContainerRealm
private static org.codehaus.plexus.classworlds.realm.ClassRealm lookupContainerRealm(ContainerConfiguration configuration) throws PlexusContainerException
Finds containerClassRealm, taking existingClassWorlds orClassLoaders into account.- Parameters:
configuration- The container configuration- Returns:
- Container class realm
- Throws:
PlexusContainerException
-
lookupPlexusXml
private java.net.URL lookupPlexusXml(ContainerConfiguration configuration)
Finds container configuration URL, may search the containerClassRealmand local file-system.- Parameters:
configuration- The container configuration- Returns:
- Local or remote URL
-
getContextComponent
private static Context getContextComponent(ContainerConfiguration configuration)
-
locate
private <T> java.lang.Iterable<PlexusBean<T>> locate(java.lang.String role, java.lang.Class<T> type, java.lang.String... hints)
-
getVisibleRealms
private java.util.Collection<org.codehaus.plexus.classworlds.realm.ClassRealm> getVisibleRealms()
-
hasPlexusBeans
private static <T> boolean hasPlexusBeans(java.lang.Iterable<PlexusBean<T>> beans)
-
newComponentDescriptor
private static <T> ComponentDescriptor<T> newComponentDescriptor(java.lang.String role, PlexusBean<T> bean)
-
-