org.codehaus.plexus.component.repository
Class ComponentDescriptor<T>

java.lang.Object
  extended by org.codehaus.plexus.component.repository.ComponentDescriptor<T>

public class ComponentDescriptor<T>
extends java.lang.Object

Component instantiation description.

Version:
$Id: ComponentDescriptor.java 8048 2009-01-16 00:54:39Z jvanzyl $
Author:
Jason van Zyl, bob mcwhirter, Michal Maczka

Constructor Summary
ComponentDescriptor()
           
ComponentDescriptor(java.lang.Class<T> implementationClass)
           
 
Method Summary
 void addRequirement(ComponentRequirement... requirement)
          Add a project requirement to this component.
 void addRequirement(ComponentRequirement requirement)
          Add a project requirement to this component.
 void addRequirements(java.util.List<ComponentRequirement> requirements)
          Adds a list of requirements to this component.
 boolean equals(java.lang.Object other)
           
 java.lang.String getAlias()
          Returns an alias for this component.
 java.lang.String getComponentComposer()
          Returns the ID of the type of composer this component will use.
 java.lang.String getComponentConfigurator()
          Returns the type of component configurator for this project.
 java.lang.String getComponentFactory()
          Returns an id of the factory used to create this component.
 java.lang.String getComponentProfile()
           
 ComponentSetDescriptor getComponentSetDescriptor()
          Returns the component set descriptor.
 java.lang.String getComponentType()
          Returns the type of this component.
 PlexusConfiguration getConfiguration()
          Returns configuration values defined for this component.
 java.lang.String getDescription()
          Return a human-readable description of this component.
 java.lang.String getHumanReadableKey()
          Returns a human-friendly key, suitable for display.
 java.lang.String getImplementation()
          Returns the implementation of this componet.
 java.lang.Class<? extends T> getImplementationClass()
          Returns the implementation class of this componet, or null if the implementation class can not be loaded.
 java.lang.String getInstantiationStrategy()
          Returns the type of instantiation strategy for this component.
 java.lang.String getLifecycleHandler()
          Returns the lifecycle-handler for this component.
 org.codehaus.plexus.classworlds.realm.ClassRealm getRealm()
          The ClassRealm that this component lives under.
 java.util.List<ComponentRequirement> getRequirements()
          Returns all project requirements of this component.
 java.lang.String getRole()
          Returns the role of this component.
 java.lang.String getRoleHint()
          Returns the role-hint of this component.
 java.lang.String getSource()
          The location this information came from (descriptor file URI).
 java.lang.String getVersion()
          Returns a specific point in a components's project timeline.
 boolean hasConfiguration()
          Returns true if this component has a configuration.
 int hashCode()
           
 boolean isIsolatedRealm()
          Returns true if this may be in an isolated classrealm.
 void removeRequirement(ComponentRequirement... requirement)
          Remove a project requirement from this component.
 void removeRequirements(java.util.List<ComponentRequirement> requirements)
          Removes a list of requirements from this component.
 void setAlias(java.lang.String alias)
          Sets the alias for this component.
 void setComponentComposer(java.lang.String componentComposer)
          Sets a representation of the composer this component uses.
 void setComponentConfigurator(java.lang.String componentConfigurator)
          Sets the type of component configurator for this project.
 void setComponentFactory(java.lang.String componentFactory)
          Sets the id of the factory to use to create this component.
 void setComponentProfile(java.lang.String componentProfile)
           
 void setComponentSetDescriptor(ComponentSetDescriptor componentSetDescriptor)
          Sets the component set descriptor of components and dependencies for this component.
 void setComponentType(java.lang.String componentType)
          Sets this component's type.
 void setConfiguration(PlexusConfiguration configuration)
          Sets the configuration hierarchy for this component.
 void setDescription(java.lang.String description)
          Sets a description of this component for users to read.
 void setImplementation(java.lang.String implementation)
          Sets the implementation of this componet.
 void setImplementationClass(java.lang.Class<? extends T> implementationClass)
           
 void setInstantiationStrategy(java.lang.String instantiationStrategy)
          Sets the instantiation-strategy for this component.
 void setIsolatedRealm(boolean isolatedRealm)
          Sets that this component may be in an isolated classrealm.
 void setLifecycleHandler(java.lang.String lifecycleHandler)
          Sets the lifecycle-handler for this component.
 void setRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
          Set the ClassRealm that this component lives under.
 void setRole(java.lang.String role)
          Sets the role of this component.
 void setRoleHint(java.lang.String roleHint)
          Sets the role-hint of this component.
 void setSource(java.lang.String source)
          The location this information came from (descriptor file URI).
 void setVersion(java.lang.String version)
          Sets the point in a components's project development timeline
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ComponentDescriptor

public ComponentDescriptor()

ComponentDescriptor

public ComponentDescriptor(java.lang.Class<T> implementationClass)
Method Detail

setSource

public void setSource(java.lang.String source)
The location this information came from (descriptor file URI).


getSource

public java.lang.String getSource()
The location this information came from (descriptor file URI).


getHumanReadableKey

public java.lang.String getHumanReadableKey()
Returns a human-friendly key, suitable for display.

Returns:
a human-friendly key

getAlias

public java.lang.String getAlias()
Returns an alias for this component. An alias as an alternate name other than the normal key.

Returns:
an alias for this component

setAlias

public void setAlias(java.lang.String alias)
Sets the alias for this component.

Parameters:
alias - alternate name to set

getRole

public java.lang.String getRole()
Returns the role of this component.

Returns:
the role of this component

setRole

public void setRole(java.lang.String role)
Sets the role of this component.

Parameters:
role - this component's role

getRoleHint

public java.lang.String getRoleHint()
Returns the role-hint of this component.

Returns:
the role-hint of this component

setRoleHint

public void setRoleHint(java.lang.String roleHint)
Sets the role-hint of this component. Pasing null will set the hint to the default value.

Parameters:
roleHint - this component's role-hint

getImplementation

public java.lang.String getImplementation()
Returns the implementation of this componet. Implementation is a string denoting a FQCN in normal Java components, or some other name or file for other component factory implementations.

Returns:
the implementation of this componet's role.

setImplementation

public void setImplementation(java.lang.String implementation)
Sets the implementation of this componet.

Parameters:
implementation - string denoting a FQCN in normal Java components, or some other name or file for other component factory implementations

getImplementationClass

public java.lang.Class<? extends T> getImplementationClass()
Returns the implementation class of this componet, or null if the implementation class can not be loaded.

Returns:
the implementation of this componet's role.

setImplementationClass

public void setImplementationClass(java.lang.Class<? extends T> implementationClass)

getVersion

public java.lang.String getVersion()
Returns a specific point in a components's project timeline. i.e. version 1, or 2.1.4

Returns:
a specific point in a components's project timeline

setVersion

public void setVersion(java.lang.String version)
Sets the point in a components's project development timeline

Parameters:
version - the components's version

getComponentType

public java.lang.String getComponentType()
Returns the type of this component.

Returns:
the type of this component

setComponentType

public void setComponentType(java.lang.String componentType)
Sets this component's type.

Parameters:
componentType - the type to set

getInstantiationStrategy

public java.lang.String getInstantiationStrategy()
Returns the type of instantiation strategy for this component.

Returns:
the type of instantiation strategy for this component

getConfiguration

public PlexusConfiguration getConfiguration()
Returns configuration values defined for this component.

Returns:
configuration values defined for this component

setConfiguration

public void setConfiguration(PlexusConfiguration configuration)
Sets the configuration hierarchy for this component.

Parameters:
configuration - the configuration hierarchy to set

hasConfiguration

public boolean hasConfiguration()
Returns true if this component has a configuration.

Returns:
true if this component has a configuration

getLifecycleHandler

public java.lang.String getLifecycleHandler()
Returns the lifecycle-handler for this component.

Returns:
the lifecycle-handler for this component

setLifecycleHandler

public void setLifecycleHandler(java.lang.String lifecycleHandler)
Sets the lifecycle-handler for this component. For example, "basic", "passive", "bootstrap".

Parameters:
lifecycleHandler - the lifecycle handler string to set

getComponentProfile

public java.lang.String getComponentProfile()

setComponentProfile

public void setComponentProfile(java.lang.String componentProfile)

addRequirement

public void addRequirement(ComponentRequirement requirement)
Add a project requirement to this component.

Parameters:
requirement - the requirement to add

addRequirement

public void addRequirement(ComponentRequirement... requirement)
Add a project requirement to this component.

Parameters:
requirement - the requirement to add

addRequirements

public void addRequirements(java.util.List<ComponentRequirement> requirements)
Adds a list of requirements to this component.

Parameters:
requirements - the requirements to add

removeRequirement

public void removeRequirement(ComponentRequirement... requirement)
Remove a project requirement from this component.

Parameters:
requirement - the requirement to remove

removeRequirements

public void removeRequirements(java.util.List<ComponentRequirement> requirements)
Removes a list of requirements from this component.

Parameters:
requirements - the requirements to remove

getRequirements

public java.util.List<ComponentRequirement> getRequirements()
Returns all project requirements of this component.

Returns:
all project requirements of this component

getComponentFactory

public java.lang.String getComponentFactory()
Returns an id of the factory used to create this component.

Returns:
an id of the factory used to create this component

setComponentFactory

public void setComponentFactory(java.lang.String componentFactory)
Sets the id of the factory to use to create this component. For example, "jruby" will use a JRuby factory.

Parameters:
componentFactory -

getComponentComposer

public java.lang.String getComponentComposer()
Returns the ID of the type of composer this component will use. For example, "setter" or "field" for the different types of dependency injection.

Returns:
the ID of the type of composer this component will use

setComponentComposer

public void setComponentComposer(java.lang.String componentComposer)
Sets a representation of the composer this component uses.

Parameters:
componentComposer - string representation of the composer to use

getDescription

public java.lang.String getDescription()
Return a human-readable description of this component.

Returns:
a human-readable description of this component

setDescription

public void setDescription(java.lang.String description)
Sets a description of this component for users to read.

Parameters:
description - a human-readable description of this component

setInstantiationStrategy

public void setInstantiationStrategy(java.lang.String instantiationStrategy)
Sets the instantiation-strategy for this component. For example, "container".

Parameters:
instantiationStrategy -

isIsolatedRealm

public boolean isIsolatedRealm()
Returns true if this may be in an isolated classrealm.

Returns:
true if this may be in an isolated classrealm

setComponentSetDescriptor

public void setComponentSetDescriptor(ComponentSetDescriptor componentSetDescriptor)
Sets the component set descriptor of components and dependencies for this component.

Parameters:
componentSetDescriptor - the component set descriptor of components and dependencies

getComponentSetDescriptor

public ComponentSetDescriptor getComponentSetDescriptor()
Returns the component set descriptor.

Returns:
the component set descriptor

setIsolatedRealm

public void setIsolatedRealm(boolean isolatedRealm)
Sets that this component may be in an isolated classrealm.

Parameters:
isolatedRealm - true if this component may be in an isolated classrealm

getComponentConfigurator

public java.lang.String getComponentConfigurator()
Returns the type of component configurator for this project. For example "basic" for normal, or "map-oriented" for map oriented components.

Returns:
the type of component configurator for this project

setComponentConfigurator

public void setComponentConfigurator(java.lang.String componentConfigurator)
Sets the type of component configurator for this project.

Parameters:
componentConfigurator -

getRealm

public org.codehaus.plexus.classworlds.realm.ClassRealm getRealm()
The ClassRealm that this component lives under.

Returns:
ClassRealm that this component lives under

setRealm

public void setRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
Set the ClassRealm that this component lives under.

Parameters:
realm - the ClassRealm that this component lives under

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object


Copyright © 2001-2009 Codehaus. All Rights Reserved.