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
PlexusContainer
shim that delegates to a Plexus-aware GuiceInjector
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
DefaultPlexusContainer.BootModule
(package private) class
DefaultPlexusContainer.ContainerModule
(package private) class
DefaultPlexusContainer.DefaultsModule
(package private) class
DefaultPlexusContainer.LoggerManagerProvider
(package private) class
DefaultPlexusContainer.LoggerProvider
(package private) class
DefaultPlexusContainer.SLF4JLoggerFactoryProvider
-
Field Summary
Fields Modifier and Type Field Description (package private) ClassRealmManager
classRealmManager
private java.lang.String
componentVisibility
private com.google.inject.Module
containerModule
(package private) org.codehaus.plexus.classworlds.realm.ClassRealm
containerRealm
(package private) Context
context
private static java.lang.String
DEFAULT_REALM_NAME
private com.google.inject.Module
defaultsModule
(package private) java.util.Map<org.codehaus.plexus.classworlds.realm.ClassRealm,java.util.List<ComponentDescriptor<?>>>
descriptorMap
private boolean
disposing
private boolean
isAutoWiringEnabled
private Logger
logger
private LoggerManager
loggerManager
(package private) DefaultPlexusContainer.LoggerManagerProvider
loggerManagerProvider
(package private) java.lang.ThreadLocal<org.codehaus.plexus.classworlds.realm.ClassRealm>
lookupRealm
private static com.google.inject.Module[]
NO_CUSTOM_MODULES
(package private) PlexusBeanLocator
plexusBeanLocator
(package private) BeanManager
plexusBeanManager
(package private) java.util.concurrent.atomic.AtomicInteger
plexusRank
(package private) MutableBeanLocator
qualifiedBeanLocator
private BeanScanning
scanning
(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 void
addComponent(java.lang.Object component, java.lang.String role)
<T> void
addComponent(T component, java.lang.Class<?> role, java.lang.String hint)
<T> void
addComponentDescriptor(ComponentDescriptor<T> descriptor)
com.google.inject.Injector
addPlexusInjector(java.util.List<? extends PlexusBeanModule> beanModules, com.google.inject.Module... customModules)
org.codehaus.plexus.classworlds.realm.ClassRealm
createChildRealm(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)
void
dispose()
org.codehaus.plexus.classworlds.ClassWorld
getClassWorld()
<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.List
getComponentDescriptorList(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.Map
getComponentDescriptorMap(java.lang.String role)
org.codehaus.plexus.classworlds.realm.ClassRealm
getContainerRealm()
Context
getContext()
private static Context
getContextComponent(ContainerConfiguration configuration)
Logger
getLogger()
LoggerManager
getLoggerManager()
org.codehaus.plexus.classworlds.realm.ClassRealm
getLookupRealm()
private java.util.Collection<org.codehaus.plexus.classworlds.realm.ClassRealm>
getVisibleRealms()
boolean
hasComponent(java.lang.Class role)
boolean
hasComponent(java.lang.Class role, java.lang.String hint)
boolean
hasComponent(java.lang.Class type, java.lang.String role, java.lang.String hint)
boolean
hasComponent(java.lang.String role)
boolean
hasComponent(java.lang.String role, java.lang.String hint)
private static <T> boolean
hasPlexusBeans(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> T
lookup(java.lang.Class<T> role)
<T> T
lookup(java.lang.Class<T> role, java.lang.String hint)
<T> T
lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String hint)
java.lang.Object
lookup(java.lang.String role)
java.lang.Object
lookup(java.lang.String role, java.lang.String hint)
private static org.codehaus.plexus.classworlds.realm.ClassRealm
lookupContainerRealm(ContainerConfiguration configuration)
Finds containerClassRealm
, taking existingClassWorld
s orClassLoader
s 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.URL
lookupPlexusXml(ContainerConfiguration configuration)
Finds container configuration URL, may search the containerClassRealm
and local file-system.private static <T> ComponentDescriptor<T>
newComponentDescriptor(java.lang.String role, PlexusBean<T> bean)
private static BeanScanning
parseScanningOption(java.lang.String scanning)
void
release(java.lang.Object component)
void
releaseAll(java.util.List<?> components)
void
releaseAll(java.util.Map<java.lang.String,?> components)
void
setLoggerManager(LoggerManager loggerManager)
org.codehaus.plexus.classworlds.realm.ClassRealm
setLookupRealm(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:
getContext
in interfacePlexusContainer
-
lookup
public java.lang.Object lookup(java.lang.String role) throws ComponentLookupException
- Specified by:
lookup
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookup
public java.lang.Object lookup(java.lang.String role, java.lang.String hint) throws ComponentLookupException
- Specified by:
lookup
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(java.lang.Class<T> role) throws ComponentLookupException
- Specified by:
lookup
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookup
public <T> T lookup(java.lang.Class<T> role, java.lang.String hint) throws ComponentLookupException
- Specified by:
lookup
in 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:
lookup
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookupList
public java.util.List<java.lang.Object> lookupList(java.lang.String role) throws ComponentLookupException
- Specified by:
lookupList
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookupList
public <T> java.util.List<T> lookupList(java.lang.Class<T> role) throws ComponentLookupException
- Specified by:
lookupList
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookupMap
public java.util.Map<java.lang.String,java.lang.Object> lookupMap(java.lang.String role) throws ComponentLookupException
- Specified by:
lookupMap
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
lookupMap
public <T> java.util.Map<java.lang.String,T> lookupMap(java.lang.Class<T> role) throws ComponentLookupException
- Specified by:
lookupMap
in interfacePlexusContainer
- Throws:
ComponentLookupException
-
hasComponent
public boolean hasComponent(java.lang.String role)
- Specified by:
hasComponent
in interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.String role, java.lang.String hint)
- Specified by:
hasComponent
in interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.Class role)
- Specified by:
hasComponent
in interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.Class role, java.lang.String hint)
- Specified by:
hasComponent
in interfacePlexusContainer
-
hasComponent
public boolean hasComponent(java.lang.Class type, java.lang.String role, java.lang.String hint)
- Specified by:
hasComponent
in interfacePlexusContainer
-
addComponent
public void addComponent(java.lang.Object component, java.lang.String role)
- Specified by:
addComponent
in interfacePlexusContainer
-
addComponent
public <T> void addComponent(T component, java.lang.Class<?> role, java.lang.String hint)
- Specified by:
addComponent
in interfacePlexusContainer
-
addComponentDescriptor
public <T> void addComponentDescriptor(ComponentDescriptor<T> descriptor)
- Specified by:
addComponentDescriptor
in interfacePlexusContainer
-
getComponentDescriptor
public ComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String hint)
- Specified by:
getComponentDescriptor
in interfacePlexusContainer
-
getComponentDescriptor
public <T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String hint)
- Specified by:
getComponentDescriptor
in interfacePlexusContainer
-
getComponentDescriptorList
public java.util.List getComponentDescriptorList(java.lang.String role)
- Specified by:
getComponentDescriptorList
in interfacePlexusContainer
-
getComponentDescriptorList
public <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorList
in interfacePlexusContainer
-
getComponentDescriptorMap
public java.util.Map getComponentDescriptorMap(java.lang.String role)
- Specified by:
getComponentDescriptorMap
in interfacePlexusContainer
-
getComponentDescriptorMap
public <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
- Specified by:
getComponentDescriptorMap
in interfacePlexusContainer
-
discoverComponents
public java.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
- Specified by:
discoverComponents
in 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:
getClassWorld
in interfaceMutablePlexusContainer
-
getContainerRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm getContainerRealm()
- Specified by:
getContainerRealm
in interfacePlexusContainer
-
setLookupRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm setLookupRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
- Specified by:
setLookupRealm
in interfacePlexusContainer
-
getLookupRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm getLookupRealm()
- Specified by:
getLookupRealm
in interfacePlexusContainer
-
createChildRealm
public org.codehaus.plexus.classworlds.realm.ClassRealm createChildRealm(java.lang.String id)
- Specified by:
createChildRealm
in interfacePlexusContainer
-
getLoggerManager
public LoggerManager getLoggerManager()
- Specified by:
getLoggerManager
in interfaceMutablePlexusContainer
-
setLoggerManager
@Inject(optional=true) public void setLoggerManager(LoggerManager loggerManager)
- Specified by:
setLoggerManager
in interfaceMutablePlexusContainer
-
getLogger
public Logger getLogger()
- Specified by:
getLogger
in interfaceMutablePlexusContainer
-
release
public void release(java.lang.Object component)
- Specified by:
release
in interfacePlexusContainer
-
releaseAll
public void releaseAll(java.util.Map<java.lang.String,?> components)
- Specified by:
releaseAll
in interfacePlexusContainer
-
releaseAll
public void releaseAll(java.util.List<?> components)
- Specified by:
releaseAll
in interfacePlexusContainer
-
dispose
public void dispose()
- Specified by:
dispose
in 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 existingClassWorld
s orClassLoader
s 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 containerClassRealm
and 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)
-
-