public interface PlexusContainer
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ROLE |
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 roleHint)
Adds live component instance to this container.
|
void |
addComponentDescriptor(ComponentDescriptor<?> componentDescriptor)
Adds a component descriptor to this container.
|
void |
addContextValue(java.lang.Object key,
java.lang.Object value)
Add a key/value pair to this container's Context.
|
org.codehaus.plexus.classworlds.realm.ClassRealm |
createChildRealm(java.lang.String id) |
java.util.List<ComponentDescriptor<?>> |
discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm childRealm)
Discovers components in the given realm.
|
java.util.List<ComponentDescriptor<?>> |
discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm,
java.lang.Object data) |
void |
dispose()
Disposes of this container, which in turn disposes all of it's components.
|
<T> ComponentDescriptor<T> |
getComponentDescriptor(java.lang.Class<T> type,
java.lang.String role,
java.lang.String roleHint)
Returns the ComponentDescriptor with the given component role and hint.
|
ComponentDescriptor<?> |
getComponentDescriptor(java.lang.String role)
Returns the ComponentDescriptor with the given component role and the default role hint.
|
ComponentDescriptor<?> |
getComponentDescriptor(java.lang.String role,
java.lang.String roleHint)
Returns the ComponentDescriptor with the given component role and hint.
|
<T> java.util.List<ComponentDescriptor<T>> |
getComponentDescriptorList(java.lang.Class<T> type,
java.lang.String role)
Returns a List of ComponentDescriptors with the given role.
|
java.util.List<ComponentDescriptor<?>> |
getComponentDescriptorList(java.lang.String role)
Returns a List of ComponentDescriptors with the given role.
|
<T> java.util.Map<java.lang.String,ComponentDescriptor<T>> |
getComponentDescriptorMap(java.lang.Class<T> type,
java.lang.String role)
Returns a Map of ComponentDescriptors with the given role, keyed by role-hint.
|
java.util.Map<java.lang.String,ComponentDescriptor<?>> |
getComponentDescriptorMap(java.lang.String role)
Returns a Map of ComponentDescriptors with the given role, keyed by role-hint.
|
org.codehaus.plexus.classworlds.realm.ClassRealm |
getComponentRealm(java.lang.String realmId) |
org.codehaus.plexus.classworlds.realm.ClassRealm |
getContainerRealm()
Returns the Classworld's ClassRealm of this Container, which acts as the default parent for all contained
components.
|
Context |
getContext()
Returns this container's context.
|
org.codehaus.plexus.classworlds.realm.ClassRealm |
getLookupRealm()
Returns the lookup realm for this container, which is either
the container realm or the realm set by
setLookupRealm(ClassRealm) . |
org.codehaus.plexus.classworlds.realm.ClassRealm |
getLookupRealm(java.lang.Object component)
XXX ideally i'd like to place this in a plexus container specific utility class.
|
boolean |
hasComponent(java.lang.Class<?> type)
Returns true if this container has a component with the given role/role-hint.
|
boolean |
hasComponent(java.lang.Class<?> type,
java.lang.String roleHint)
Returns true if this container has a component with the given role/role-hint.
|
boolean |
hasComponent(java.lang.Class<?> type,
java.lang.String role,
java.lang.String roleHint)
Returns true if this container has a component with the given role/role-hint.
|
boolean |
hasComponent(java.lang.String role)
Returns true if this container has the keyed component.
|
boolean |
hasComponent(java.lang.String role,
java.lang.String roleHint)
Returns true if this container has a component with the given role/role-hint.
|
<T> T |
lookup(java.lang.Class<T> type)
Looks up and returns a component object with the given unique key or role.
|
<T> T |
lookup(java.lang.Class<T> type,
java.lang.String roleHint)
Looks up and returns a component object with the given unique role/role-hint combination.
|
<T> T |
lookup(java.lang.Class<T> type,
java.lang.String role,
java.lang.String roleHint)
Looks up and returns a component object with the given unique role/role-hint combination.
|
<T> T |
lookup(ComponentDescriptor<T> componentDescriptor)
Looks up and returns a component object matching the given component descriptor.
|
java.lang.Object |
lookup(java.lang.String role)
Looks up and returns a component object with the given unique key or role.
|
java.lang.Object |
lookup(java.lang.String role,
java.lang.String roleHint)
Looks up and returns a component object with the given unique role/role-hint combination.
|
<T> java.util.List<T> |
lookupList(java.lang.Class<T> type)
Looks up and returns a List of component objects with the given role.
|
<T> java.util.List<T> |
lookupList(java.lang.Class<T> type,
java.util.List<java.lang.String> roleHints)
Looks up and returns a List of component objects with the given role.
|
java.util.List<java.lang.Object> |
lookupList(java.lang.String role)
Looks up and returns a List of component objects with the given role.
|
java.util.List<java.lang.Object> |
lookupList(java.lang.String role,
java.util.List<java.lang.String> roleHints)
Looks up and returns a List of component objects with the given role.
|
<T> java.util.Map<java.lang.String,T> |
lookupMap(java.lang.Class<T> type)
Looks up and returns a Map of component objects with the given role, keyed by all available role-hints.
|
<T> java.util.Map<java.lang.String,T> |
lookupMap(java.lang.Class<T> type,
java.util.List<java.lang.String> roleHints)
Looks up and returns a Map of component objects with the given role, keyed by all available role-hints.
|
java.util.Map<java.lang.String,java.lang.Object> |
lookupMap(java.lang.String role)
Looks up and returns a Map of component objects with the given role, keyed by all available role-hints.
|
java.util.Map<java.lang.String,java.lang.Object> |
lookupMap(java.lang.String role,
java.util.List<java.lang.String> roleHints)
Looks up and returns a Map of component objects with the given role, keyed by all available role-hints.
|
void |
registerComponentDiscoveryListener(ComponentDiscoveryListener listener)
Adds the listener to this container.
|
void |
release(java.lang.Object component)
Releases the component from the container.
|
void |
releaseAll(java.util.List<?> components)
Releases all Listed components from the container.
|
void |
releaseAll(java.util.Map<java.lang.String,?> components)
Releases all Mapped component values from the container.
|
void |
removeComponentDiscoveryListener(ComponentDiscoveryListener listener)
Removes the listener from this container.
|
void |
removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm componentRealm)
Dissociate the realm with the specified id from the container.
|
org.codehaus.plexus.classworlds.realm.ClassRealm |
setLookupRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
Sets the lookup realm to use for lookup calls that don't have a ClassRealm parameter.
|
java.lang.Object lookup(java.lang.String role) throws ComponentLookupException
role
- a unique key for the desired componentComponentLookupException
java.lang.Object lookup(java.lang.String role, java.lang.String roleHint) throws ComponentLookupException
role
- a non-unique key for the desired componentroleHint
- a hint for the desired component implementationComponentLookupException
<T> T lookup(java.lang.Class<T> type) throws ComponentLookupException
type
- the unique type of the component within the containerComponentLookupException
<T> T lookup(java.lang.Class<T> type, java.lang.String roleHint) throws ComponentLookupException
type
- the non-unique type of the componentroleHint
- a hint for the desired component implementationComponentLookupException
<T> T lookup(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint) throws ComponentLookupException
type
- the non-unique type of the componentrole
- a non-unique key for the desired componentroleHint
- a hint for the desired component implementationComponentLookupException
<T> T lookup(ComponentDescriptor<T> componentDescriptor) throws ComponentLookupException
componentDescriptor
- the descriptor of the componentComponentLookupException
java.util.List<java.lang.Object> lookupList(java.lang.String role) throws ComponentLookupException
role
- a non-unique key for the desired componentsComponentLookupException
java.util.List<java.lang.Object> lookupList(java.lang.String role, java.util.List<java.lang.String> roleHints) throws ComponentLookupException
role
- a non-unique key for the desired componentsComponentLookupException
<T> java.util.List<T> lookupList(java.lang.Class<T> type) throws ComponentLookupException
type
- the non-unique type of the componentsComponentLookupException
<T> java.util.List<T> lookupList(java.lang.Class<T> type, java.util.List<java.lang.String> roleHints) throws ComponentLookupException
type
- the non-unique type of the componentsComponentLookupException
java.util.Map<java.lang.String,java.lang.Object> lookupMap(java.lang.String role) throws ComponentLookupException
role
- a non-unique key for the desired componentsComponentLookupException
java.util.Map<java.lang.String,java.lang.Object> lookupMap(java.lang.String role, java.util.List<java.lang.String> roleHints) throws ComponentLookupException
role
- a non-unique key for the desired componentsComponentLookupException
<T> java.util.Map<java.lang.String,T> lookupMap(java.lang.Class<T> type) throws ComponentLookupException
type
- the non-unique type of the componentsComponentLookupException
<T> java.util.Map<java.lang.String,T> lookupMap(java.lang.Class<T> type, java.util.List<java.lang.String> roleHints) throws ComponentLookupException
type
- the non-unique type of the componentsComponentLookupException
ComponentDescriptor<?> getComponentDescriptor(java.lang.String role)
role
- a unique role for the desired component's descriptorComponentDescriptor<?> getComponentDescriptor(java.lang.String role, java.lang.String roleHint)
role
- a unique role for the desired component's descriptorroleHint
- a hint showing which implementation should be used<T> ComponentDescriptor<T> getComponentDescriptor(java.lang.Class<T> type, java.lang.String role, java.lang.String roleHint)
type
- the Java type of the desired componentrole
- a unique role for the desired component's descriptorroleHint
- a hint showing which implementation should be usedjava.util.Map<java.lang.String,ComponentDescriptor<?>> getComponentDescriptorMap(java.lang.String role)
role
- a non-unique key for the desired components<T> java.util.Map<java.lang.String,ComponentDescriptor<T>> getComponentDescriptorMap(java.lang.Class<T> type, java.lang.String role)
type
- the Java type of the desired componentsrole
- a non-unique key for the desired componentsjava.util.List<ComponentDescriptor<?>> getComponentDescriptorList(java.lang.String role)
role
- a non-unique key for the desired components<T> java.util.List<ComponentDescriptor<T>> getComponentDescriptorList(java.lang.Class<T> type, java.lang.String role)
type
- the Java type of the desired componentsrole
- a non-unique key for the desired componentsvoid addComponentDescriptor(ComponentDescriptor<?> componentDescriptor) throws CycleDetectedInComponentGraphException
componentDescriptor
- ComponentRepositoryException
CycleDetectedInComponentGraphException
void release(java.lang.Object component) throws ComponentLifecycleException
component
- the plexus component object to releaseComponentLifecycleException
void releaseAll(java.util.Map<java.lang.String,?> components) throws ComponentLifecycleException
components
- Map of plexus component objects to releaseComponentLifecycleException
release( Object component )
void releaseAll(java.util.List<?> components) throws ComponentLifecycleException
components
- List of plexus component objects to releaseComponentLifecycleException
release( Object component )
boolean hasComponent(java.lang.String role)
role
- a non-unique key for the desired componentboolean hasComponent(java.lang.String role, java.lang.String roleHint)
role
- a non-unique key for the desired componentroleHint
- a hint for the desired component implementationboolean hasComponent(java.lang.Class<?> type)
type
- the non-unique type of the componentboolean hasComponent(java.lang.Class<?> type, java.lang.String roleHint)
type
- the non-unique type of the componentroleHint
- a hint for the desired component implementationboolean hasComponent(java.lang.Class<?> type, java.lang.String role, java.lang.String roleHint)
type
- the non-unique type of the componentrole
- a non-unique key for the desired componentroleHint
- a hint for the desired component implementationvoid dispose()
void addContextValue(java.lang.Object key, java.lang.Object value)
key
- any unique object valid to the Context's implementationvalue
- any object valid to the Context's implementationContext getContext()
org.codehaus.plexus.classworlds.realm.ClassRealm getContainerRealm()
void registerComponentDiscoveryListener(ComponentDiscoveryListener listener)
listener
- A listener which responds to different ComponentDiscoveryEventsvoid removeComponentDiscoveryListener(ComponentDiscoveryListener listener)
listener
- A listener to removejava.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm childRealm) throws PlexusConfigurationException, CycleDetectedInComponentGraphException
childRealm
- override
- whether to override/merge any conflicting components, where the new component takes precedence.PlexusConfigurationException
ComponentRepositoryException
CycleDetectedInComponentGraphException
java.util.List<ComponentDescriptor<?>> discoverComponents(org.codehaus.plexus.classworlds.realm.ClassRealm realm, java.lang.Object data) throws PlexusConfigurationException, CycleDetectedInComponentGraphException
org.codehaus.plexus.classworlds.realm.ClassRealm createChildRealm(java.lang.String id)
org.codehaus.plexus.classworlds.realm.ClassRealm getComponentRealm(java.lang.String realmId)
void removeComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm componentRealm) throws PlexusContainerException
componentRealm
- Realm to remove from the container.PlexusContainerException
org.codehaus.plexus.classworlds.realm.ClassRealm getLookupRealm()
setLookupRealm(ClassRealm)
.org.codehaus.plexus.classworlds.realm.ClassRealm setLookupRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
realm
- the new realm to use.org.codehaus.plexus.classworlds.realm.ClassRealm getLookupRealm(java.lang.Object component)
component
- void addComponent(java.lang.Object component, java.lang.String role) throws CycleDetectedInComponentGraphException
<T> void addComponent(T component, java.lang.Class<?> role, java.lang.String roleHint)