## 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` `handleErrorFlush(java.lang.String line)` Handles error output sent to System.err by this task or its real task.
`protected void` `handleErrorOutput(java.lang.String line)` Handles error output sent to System.err by this task or its real task.
`protected void` `handleFlush(java.lang.String line)` Handles output sent to System.out 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`.

### handleFlush

    protected void handleFlush(java.lang.String line)

  Handles output sent to System.out by this task or its real task.

  Overrides:
    `handleFlush` 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`.

### handleErrorFlush

    protected void handleErrorFlush(java.lang.String line)

  Handles error output sent to System.err by this task or its real task.

  Overrides:
    `handleErrorFlush` 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-2003 Apache Software Foundation. All Rights Reserved.