org.apache.tools.ant.helper

## Class ProjectHelper2.ElementHandler

- java.lang.Object
- - org.apache.tools.ant.helper.ProjectHelper2.AntHandler
  - - org.apache.tools.ant.helper.ProjectHelper2.ElementHandler

- Enclosing class:
    ProjectHelper2

      public static class ProjectHelper2.ElementHandler
      extends ProjectHelper2.AntHandler

  Handler for all project elements (tasks, data types)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ElementHandler()` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `characters(char[] buf, int start, int count, AntXMLContext context)` Adds text to the task, using the wrapper
    `void` | `onEndElement(java.lang.String uri, java.lang.String tag, AntXMLContext context)` Handles the end of the element.
    `ProjectHelper2.AntHandler` | `onStartChild(java.lang.String uri, java.lang.String tag, java.lang.String qname, org.xml.sax.Attributes attrs, AntXMLContext context)` Handles the start of an element within a target.
    `void` | `onStartElement(java.lang.String uri, java.lang.String tag, java.lang.String qname, org.xml.sax.Attributes attrs, AntXMLContext context)` Initialisation routine called after handler creation with the element name and attributes.

    - ### Methods inherited from class org.apache.tools.ant.helper.ProjectHelper2.AntHandler

      `checkNamespace, onEndChild`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ElementHandler

          public ElementHandler()

      Constructor.

  - ### Method Detail

    - #### onStartElement

          public void onStartElement(java.lang.String uri,
                                     java.lang.String tag,
                                     java.lang.String qname,
                                     org.xml.sax.Attributes attrs,
                                     AntXMLContext context)
                              throws org.xml.sax.SAXParseException

      Initialisation routine called after handler creation with the element name and attributes. This configures the element with its attributes and sets it up with its parent container (if any). Nested elements are then added later as the parser encounters them.
      Overrides:
        `onStartElement` in class `ProjectHelper2.AntHandler`
      Parameters:
        `uri` - The namespace URI for this element.
        `tag` - Name of the element which caused this handler to be created. Must not be `null`.
        `qname` - The qualified name for this element.
        `attrs` - Attributes of the element which caused this handler to be created. Must not be `null`.
        `context` - The current context.
      Throws:
        `org.xml.sax.SAXParseException` - in case of error (not thrown in this implementation)

    - #### characters

          public void characters(char[] buf,
                                 int start,
                                 int count,
                                 AntXMLContext context)
                          throws org.xml.sax.SAXParseException

      Adds text to the task, using the wrapper
      Overrides:
        `characters` in class `ProjectHelper2.AntHandler`
      Parameters:
        `buf` - A character array of the text within the element. Will not be `null`.
        `start` - The start element in the array.
        `count` - The number of characters to read from the array.
        `context` - The current context.
      Throws:
        `org.xml.sax.SAXParseException` - if the element doesn't support text
      See Also:
        `ProjectHelper.addText(Project,java.lang.Object,char[],int,int)`

    - #### onStartChild

          public ProjectHelper2.AntHandler onStartChild(java.lang.String uri,
                                                        java.lang.String tag,
                                                        java.lang.String qname,
                                                        org.xml.sax.Attributes attrs,
                                                        AntXMLContext context)
                                                 throws org.xml.sax.SAXParseException

      Handles the start of an element within a target. Task containers will always use another task handler, and all other tasks will always use a nested element handler.
      Overrides:
        `onStartChild` in class `ProjectHelper2.AntHandler`
      Parameters:
        `uri` - The namespace URI for this element.
        `tag` - The name of the element being started. Will not be `null`.
        `qname` - The qualified name for this element.
        `attrs` - Attributes of the element being started. Will not be `null`.
        `context` - The current context.
      Returns:
        The handler for elements.
      Throws:
        `org.xml.sax.SAXParseException` - if an error occurs when initialising the appropriate child handler

    - #### onEndElement

          public void onEndElement(java.lang.String uri,
                                   java.lang.String tag,
                                   AntXMLContext context)

      Handles the end of the element. This pops the wrapper from the context.
      Overrides:
        `onEndElement` in class `ProjectHelper2.AntHandler`
      Parameters:
        `uri` - The namespace URI for the element.
        `tag` - The name of the element.
        `context` - The current context.