|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.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. |
Project |
getProject()
Get the project. |
java.util.List |
getRestrictedDefinitions(java.lang.String componentName)
This returns a list of restricted definitions for a name. |
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 Project getProject()
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 java.util.List getRestrictedDefinitions(java.lang.String componentName)
componentName
- the name to use.
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 |