public final class DefaultPlexusContainer extends java.lang.Object implements MutablePlexusContainer
PlexusContainer
shim that delegates to a Plexus-aware Guice Injector
.Modifier and Type | Class and 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 |
Modifier and Type | Field and 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 and Description |
---|
DefaultPlexusContainer() |
DefaultPlexusContainer(ContainerConfiguration configuration) |
DefaultPlexusContainer(ContainerConfiguration configuration,
com.google.inject.Module... customModules) |
Modifier and Type | Method and 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 container
ClassRealm , taking existing ClassWorld s or ClassLoader 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 container
ClassRealm 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) |
private static final java.lang.String DEFAULT_REALM_NAME
private static final com.google.inject.Module[] NO_CUSTOM_MODULES
final java.util.concurrent.atomic.AtomicInteger plexusRank
final java.util.Map<org.codehaus.plexus.classworlds.realm.ClassRealm,java.util.List<ComponentDescriptor<?>>> descriptorMap
final java.lang.ThreadLocal<org.codehaus.plexus.classworlds.realm.ClassRealm> lookupRealm
final DefaultPlexusContainer.LoggerManagerProvider loggerManagerProvider
final MutableBeanLocator qualifiedBeanLocator
final Context context
final java.util.Map<?,?> variables
final org.codehaus.plexus.classworlds.realm.ClassRealm containerRealm
final ClassRealmManager classRealmManager
final PlexusBeanLocator plexusBeanLocator
final BeanManager plexusBeanManager
private final java.lang.String componentVisibility
private final boolean isAutoWiringEnabled
private final BeanScanning scanning
private final com.google.inject.Module containerModule
private final com.google.inject.Module defaultsModule
private LoggerManager loggerManager
private Logger logger
private boolean disposing
public DefaultPlexusContainer() throws PlexusContainerException
PlexusContainerException
public DefaultPlexusContainer(ContainerConfiguration configuration) throws PlexusContainerException
PlexusContainerException
public DefaultPlexusContainer(ContainerConfiguration configuration, com.google.inject.Module... customModules) throws PlexusContainerException
PlexusContainerException
public Context getContext()
getContext
in interface PlexusContainer
public java.lang.Object lookup(java.lang.String role) throws ComponentLookupException
lookup
in interface PlexusContainer
ComponentLookupException
public java.lang.Object lookup(java.lang.String role, java.lang.String hint) throws ComponentLookupException
lookup
in interface PlexusContainer
ComponentLookupException
public <T> T lookup(java.lang.Class<T> role) throws ComponentLookupException
lookup
in interface PlexusContainer
ComponentLookupException
public <T> T lookup(java.lang.Class<T> role, java.lang.String hint) throws ComponentLookupException
lookup
in interface PlexusContainer
ComponentLookupException
public <T> T lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String hint) throws ComponentLookupException
lookup
in interface PlexusContainer
ComponentLookupException
public java.util.List<java.lang.Object> lookupList(java.lang.String role) throws ComponentLookupException
lookupList
in interface PlexusContainer
ComponentLookupException
public <T> java.util.List<T> lookupList(java.lang.Class<T> role) throws ComponentLookupException
lookupList
in interface PlexusContainer
ComponentLookupException
public java.util.Map<java.lang.String,java.lang.Object> lookupMap(java.lang.String role) throws ComponentLookupException
lookupMap
in interface PlexusContainer
ComponentLookupException
public <T> java.util.Map<java.lang.String,T> lookupMap(java.lang.Class<T> role) throws ComponentLookupException
lookupMap
in interface PlexusContainer
ComponentLookupException
public boolean hasComponent(java.lang.String role)
hasComponent
in interface PlexusContainer
public boolean hasComponent(java.lang.String role, java.lang.String hint)
hasComponent
in interface PlexusContainer
public boolean hasComponent(java.lang.Class role)
hasComponent
in interface PlexusContainer
public boolean hasComponent(java.lang.Class role, java.lang.String hint)
hasComponent
in interface PlexusContainer
public boolean hasComponent(java.lang.Class type, java.lang.String role, java.lang.String hint)
hasComponent
in interface PlexusContainer
public void addComponent(java.lang.Object component, java.lang.String role)
addComponent
in interface PlexusContainer
public <T> void addComponent(T component, java.lang.Class<?> role, java.lang.String hint)
addComponent
in interface PlexusContainer
public <T> void addComponentDescriptor(ComponentDescriptor<T> descriptor)
addComponentDescriptor
in interface PlexusContainer
public ComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String hint)
getComponentDescriptor
in interface PlexusContainer
public <T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String hint)
getComponentDescriptor
in interface PlexusContainer
public java.util.List getComponentDescriptorList(java.lang.String role)
getComponentDescriptorList
in interface PlexusContainer
public <T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
getComponentDescriptorList
in interface PlexusContainer
public java.util.Map getComponentDescriptorMap(java.lang.String role)
getComponentDescriptorMap
in interface PlexusContainer
public <T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
getComponentDescriptorMap
in interface PlexusContainer
public java.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
discoverComponents
in interface PlexusContainer
public java.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm, com.google.inject.Module... customModules)
public com.google.inject.Injector addPlexusInjector(java.util.List<? extends PlexusBeanModule> beanModules, com.google.inject.Module... customModules)
public org.codehaus.plexus.classworlds.ClassWorld getClassWorld()
getClassWorld
in interface MutablePlexusContainer
public org.codehaus.plexus.classworlds.realm.ClassRealm getContainerRealm()
getContainerRealm
in interface PlexusContainer
public org.codehaus.plexus.classworlds.realm.ClassRealm setLookupRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
setLookupRealm
in interface PlexusContainer
public org.codehaus.plexus.classworlds.realm.ClassRealm getLookupRealm()
getLookupRealm
in interface PlexusContainer
public org.codehaus.plexus.classworlds.realm.ClassRealm createChildRealm(java.lang.String id)
createChildRealm
in interface PlexusContainer
public LoggerManager getLoggerManager()
getLoggerManager
in interface MutablePlexusContainer
@Inject(optional=true) public void setLoggerManager(LoggerManager loggerManager)
setLoggerManager
in interface MutablePlexusContainer
public Logger getLogger()
getLogger
in interface MutablePlexusContainer
public void release(java.lang.Object component)
release
in interface PlexusContainer
public void releaseAll(java.util.Map<java.lang.String,?> components)
releaseAll
in interface PlexusContainer
public void releaseAll(java.util.List<?> components)
releaseAll
in interface PlexusContainer
public void dispose()
dispose
in interface PlexusContainer
private static BeanScanning parseScanningOption(java.lang.String scanning)
private static org.codehaus.plexus.classworlds.realm.ClassRealm lookupContainerRealm(ContainerConfiguration configuration) throws PlexusContainerException
ClassRealm
, taking existing ClassWorld
s or ClassLoader
s into account.configuration
- The container configurationPlexusContainerException
private java.net.URL lookupPlexusXml(ContainerConfiguration configuration)
ClassRealm
and local file-system.configuration
- The container configurationprivate static Context getContextComponent(ContainerConfiguration configuration)
private <T> java.lang.Iterable<PlexusBean<T>> locate(java.lang.String role, java.lang.Class<T> type, java.lang.String... hints)
private java.util.Collection<org.codehaus.plexus.classworlds.realm.ClassRealm> getVisibleRealms()
private static <T> boolean hasPlexusBeans(java.lang.Iterable<PlexusBean<T>> beans)
private static <T> ComponentDescriptor<T> newComponentDescriptor(java.lang.String role, PlexusBean<T> bean)