|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tools.ant.ComponentHelper
public class ComponentHelper
Component creation and configuration. The class is based around handing component definitions in an AntTypeTable. The old task/type methods have been kept for backward compatibly. Project will just delegate its calls to this class. A very simple hook mechanism is provided that allows users to plug in custom code. It is also possible to replace the default behavior ( for example in an app embedding ant )
Field Summary | |
---|---|
static java.lang.String |
COMPONENT_HELPER_REFERENCE
reference under which we register ourselves with a project -"ant.ComponentHelper" |
Constructor Summary | |
---|---|
protected |
ComponentHelper()
Creates a new ComponentHelper instance. |
Method Summary | |
---|---|
void |
addDataTypeDefinition(AntTypeDefinition def)
Describe addDataTypeDefinition method here. |
void |
addDataTypeDefinition(java.lang.String typeName,
java.lang.Class typeClass)
Adds a new datatype definition. |
void |
addTaskDefinition(java.lang.String taskName,
java.lang.Class taskClass)
Adds a new task definition to the project. |
void |
checkTaskClass(java.lang.Class taskClass)
Checks whether or not a class is suitable for serving as Ant task. |
java.lang.Object |
createComponent(java.lang.String componentName)
Create an object for a component. |
java.lang.Object |
createComponent(UnknownElement ue,
java.lang.String ns,
java.lang.String componentType)
Factory method to create the components. |
java.lang.Object |
createDataType(java.lang.String typeName)
Creates a new instance of a data type. |
Task |
createTask(java.lang.String taskType)
Creates a new instance of a task. |
java.lang.String |
diagnoseCreationFailure(java.lang.String componentName,
java.lang.String type)
Handler called to do decent diagnosis on instantiation failure. |
void |
enterAntLib(java.lang.String uri)
Called at the start of processing an antlib. |
void |
exitAntLib()
Called at the end of processing an antlib. |
java.util.Hashtable |
getAntTypeTable()
Returns the current datatype definition hashtable. |
java.lang.Class |
getComponentClass(java.lang.String componentName)
Return the class of the component name. |
static ComponentHelper |
getComponentHelper(Project project)
Find a project component for a specific project, creating it if it does not exist. |
java.lang.String |
getCurrentAntlibUri()
|
java.util.Hashtable |
getDataTypeDefinitions()
Returns the current type definition hashtable. |
AntTypeDefinition |
getDefinition(java.lang.String componentName)
Return the antTypeDefinition for a componentName. |
java.lang.String |
getElementName(java.lang.Object element)
Returns a description of the type of the given element. |
java.lang.String |
getElementName(java.lang.Object o,
boolean brief)
Returns a description of the type of the given element. |
static java.lang.String |
getElementName(Project p,
java.lang.Object o,
boolean brief)
Convenient way to get some element name even when you may not have a Project context. |
ComponentHelper |
getNext()
Get the next chained component helper. |
java.util.Hashtable |
getTaskDefinitions()
Returns the current task definition hashtable. |
void |
initDefaultDefinitions()
This method is initialization code implementing the original ant component loading from /org/apache/tools/ant/taskdefs/default.properties and /org/apache/tools/ant/types/default.properties. |
void |
initSubProject(ComponentHelper helper)
Used with creating child projects. |
void |
setNext(ComponentHelper next)
Set the next chained component helper. |
void |
setProject(Project project)
Sets the project for this component helper. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String COMPONENT_HELPER_REFERENCE
Constructor Detail |
---|
protected ComponentHelper()
Method Detail |
---|
public static ComponentHelper getComponentHelper(Project project)
project
- the project.
public void setNext(ComponentHelper next)
next
- the next chained component helper.public ComponentHelper getNext()
public void setProject(Project project)
project
- the project for this helper.public void initSubProject(ComponentHelper helper)
helper
- the component helper of the parent project.public java.lang.Object createComponent(UnknownElement ue, java.lang.String ns, java.lang.String componentType) throws BuildException
ue
- The Unknown Element creating this component.ns
- Namespace URI. Also available as ue.getNamespace().componentType
- The component type,
Also available as ue.getComponentName().
BuildException
- if an error occurs.public java.lang.Object createComponent(java.lang.String componentName)
componentName
- the name of the component, if
the component is in a namespace, the
name is prefixed with the namespace uri and ":".
public java.lang.Class getComponentClass(java.lang.String componentName)
componentName
- the name of the component, if
the component is in a namespace, the
name is prefixed with the namespace uri and ":".
public AntTypeDefinition getDefinition(java.lang.String componentName)
componentName
- the name of the component.
public void initDefaultDefinitions()
public void addTaskDefinition(java.lang.String taskName, java.lang.Class taskClass)
taskName
- The name of the task to add.
Must not be null
.taskClass
- The full name of the class implementing the task.
Must not be null
.
BuildException
- if the class is unsuitable for being an Ant
task. An error level message is logged before
this exception is thrown.checkTaskClass(Class)
public void checkTaskClass(java.lang.Class taskClass) throws BuildException
taskClass
- The class to be checked.
Must not be null
.
BuildException
- if the class is unsuitable for being an Ant
task. An error level message is logged before
this exception is thrown.public java.util.Hashtable getTaskDefinitions()
public java.util.Hashtable getDataTypeDefinitions()
public void addDataTypeDefinition(java.lang.String typeName, java.lang.Class typeClass)
typeName
- The name of the datatype.
Must not be null
.typeClass
- The full name of the class implementing the datatype.
Must not be null
.public void addDataTypeDefinition(AntTypeDefinition def)
addDataTypeDefinition
method here.
def
- an AntTypeDefinition
value.public java.util.Hashtable getAntTypeTable()
public Task createTask(java.lang.String taskType) throws BuildException
taskType
- The name of the task to create an instance of.
Must not be null
.
null
if
the task name is not recognised.
BuildException
- if the task name is recognised but task
creation fails.public java.lang.Object createDataType(java.lang.String typeName) throws BuildException
typeName
- The name of the data type to create an instance of.
Must not be null
.
null
if
the data type name is not recognised.
BuildException
- if the data type name is recognised but
instance creation fails.public java.lang.String getElementName(java.lang.Object element)
This is useful for logging purposes.
element
- The element to describe.
Must not be null
.
public java.lang.String getElementName(java.lang.Object o, boolean brief)
This is useful for logging purposes.
o
- The element to describe.
Must not be null
.brief
- whether to use a brief description.
public static java.lang.String getElementName(Project p, java.lang.Object o, boolean brief)
p
- The optional Project instance.o
- The element to describe.
Must not be null
.brief
- whether to use a brief description.
public void enterAntLib(java.lang.String uri)
uri
- the uri that is associated with this antlib.public java.lang.String getCurrentAntlibUri()
public void exitAntLib()
public java.lang.String diagnoseCreationFailure(java.lang.String componentName, java.lang.String type)
componentName
- component name.type
- component type, used in error messages
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |