Google

UnknownElement (Apache Ant API)

org.apache.tools.ant
Class UnknownElement


java.lang.Object

  |

  +--org.apache.tools.ant.ProjectComponent

        |

        +--org.apache.tools.ant.Task

              |

              +--org.apache.tools.ant.UnknownElement


public class UnknownElement
extends Task

Wrapper class that holds all the information necessary to create a task or data type that did not exist when Ant started, or one which has had its definition updated to use a different implementation class.

Author:
Stefan Bodewig

Field Summary
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
UnknownElement(java.lang.String elementName)
          Creates an UnknownElement for the given element name.
 
Method Summary
 void addChild(UnknownElement child)
          Adds a child element to this element.
 void execute()
          Executes the real object if it's a task.
protected  BuildException getNotFoundException(java.lang.String what, java.lang.String elementName)
          Returns a very verbose exception for when a task/data type cannot be found.
 java.lang.String getTag()
          Returns the name of the XML element which generated this unknown element.
 Task getTask()
          Returns the task instance after it has been created and if it is a task.
 java.lang.String getTaskName()
          Returns the name to use in logging messages.
protected  void handleChildren(java.lang.Object parent, RuntimeConfigurable parentWrapper)
          Creates child elements, creates children of the children (recursively), and sets attributes of the child elements.
protected  void handleErrorOutput(java.lang.String line)
          Handles error output sent to System.err by this task or its real task.
protected  void handleOutput(java.lang.String line)
          Handles output sent to System.out by this task or its real task.
protected  java.lang.Object makeObject(UnknownElement ue, RuntimeConfigurable w)
          Creates a named task or data type.
protected  Task makeTask(UnknownElement ue, RuntimeConfigurable w, boolean onTopLevel)
          Creates a named task and configures it up to the init() stage.
 void maybeConfigure()
          Creates the real object instance and child elements, then configures the attributes and text of the real object.
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, init, isInvalid, log, log, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnknownElement


public UnknownElement(java.lang.String elementName)
Creates an UnknownElement for the given element name.

Parameters:
elementName - The name of the unknown element. Must not be null.
Method Detail

getTag


public java.lang.String getTag()
Returns the name of the XML element which generated this unknown element.

Returns:
the name of the XML element which generated this unknown element.

maybeConfigure


public void maybeConfigure()
                    throws BuildException
Creates the real object instance and child elements, then configures the attributes and text of the real object. This unknown element is then replaced with the real object in the containing target's list of children.

Overrides:
maybeConfigure in class Task
Throws:
BuildException - if the configuration fails

handleOutput


protected void handleOutput(java.lang.String line)
Handles output sent to System.out by this task or its real task.

Overrides:
handleOutput in class Task
Parameters:
line - The line of output to log. Should not be null.

handleErrorOutput


protected void handleErrorOutput(java.lang.String line)
Handles error output sent to System.err by this task or its real task.

Overrides:
handleErrorOutput in class Task
Parameters:
line - The error line to log. Should not be null.

execute


public void execute()
Executes the real object if it's a task. If it's not a task (e.g. a data type) then this method does nothing.

Overrides:
execute in class Task

addChild


public void addChild(UnknownElement child)
Adds a child element to this element.

Parameters:
child - The child element to add. Must not be null.

handleChildren


protected void handleChildren(java.lang.Object parent,
                              RuntimeConfigurable parentWrapper)
                       throws BuildException
Creates child elements, creates children of the children (recursively), and sets attributes of the child elements.

Parameters:
parent - The configured object for the parent. Must not be null.
parentWrapper - The wrapper containing child wrappers to be configured. Must not be null if there are any children.
Throws:
BuildException - if the children cannot be configured.

makeObject


protected java.lang.Object makeObject(UnknownElement ue,
                                      RuntimeConfigurable w)
Creates a named task or data type. If the real object is a task, it is configured up to the init() stage.

Parameters:
ue - The unknown element to create the real object for. Must not be null.
w - Ignored in this implementation.
Returns:
the task or data type represented by the given unknown element.

makeTask


protected Task makeTask(UnknownElement ue,
                        RuntimeConfigurable w,
                        boolean onTopLevel)
Creates a named task and configures it up to the init() stage.

Parameters:
ue - The UnknownElement to create the real task for. Must not be null.
w - Ignored.
onTopLevel - Whether or not this is definitely trying to create a task. If this is true and the task name is not recognised, a BuildException is thrown.
Returns:
the task specified by the given unknown element, or null if the task name is not recognised and onTopLevel is false.

getNotFoundException


protected BuildException getNotFoundException(java.lang.String what,
                                              java.lang.String elementName)
Returns a very verbose exception for when a task/data type cannot be found.

Parameters:
what - The kind of thing being created. For example, when a task name could not be found, this would be "task". Should not be null.
elementName - The name of the element which could not be found. Should not be null.
Returns:
a detailed description of what might have caused the problem.

getTaskName


public java.lang.String getTaskName()
Returns the name to use in logging messages.

Overrides:
getTaskName in class Task
Returns:
the name to use in logging messages.

getTask


public Task getTask()
Returns the task instance after it has been created and if it is a task.

Returns:
a task instance or null if the real object is not a task.


Copyright 2000-2002 Apache Software Foundation. All Rights Reserved.