Package org.apache.tools.ant.helper

## Class ProjectHelper2.RootHandler

- java.lang.Object
- - org.xml.sax.helpers.DefaultHandler
  - - org.apache.tools.ant.helper.ProjectHelper2.RootHandler

- All Implemented Interfaces:
    `org.xml.sax.ContentHandler`, `org.xml.sax.DTDHandler`, `org.xml.sax.EntityResolver`, `org.xml.sax.ErrorHandler`
  Enclosing class:
    ProjectHelper2

      public static class ProjectHelper2.RootHandler
      extends org.xml.sax.helpers.DefaultHandler

  Handler for ant processing. Uses a stack of AntHandlers to implement each element (the original parser used a recursive behavior, with the implicit execution stack)

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RootHandler​(AntXMLContext context, ProjectHelper2.AntHandler rootHandler)` | Creates a new RootHandler instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `characters​(char[] buf, int start, int count)` | Handle text within an element, calls currentHandler.characters.
    `void` | `endElement​(java.lang.String uri, java.lang.String name, java.lang.String qName)` | Handles the end of an element.
    `void` | `endPrefixMapping​(java.lang.String prefix)` | End a namespace prefix to uri mapping
    `ProjectHelper2.AntHandler` | `getCurrentAntHandler()` | Returns the current ant handler object.
    `org.xml.sax.InputSource` | `resolveEntity​(java.lang.String publicId, java.lang.String systemId)` | Resolves file: URIs relative to the build file.
    `void` | `setDocumentLocator​(org.xml.sax.Locator locator)` | Sets the locator in the project helper for future reference.
    `void` | `startElement​(java.lang.String uri, java.lang.String tag, java.lang.String qname, org.xml.sax.Attributes attrs)` | Handles the start of a project element.
    `void` | `startPrefixMapping​(java.lang.String prefix, java.lang.String uri)` | Start a namespace prefix to uri mapping

    - ### Methods inherited from class org.xml.sax.helpers.DefaultHandler

      `endDocument, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, skippedEntity, startDocument, unparsedEntityDecl, warning`

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

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

- - ### Constructor Detail

    - #### RootHandler

          public RootHandler​(AntXMLContext context,
                             ProjectHelper2.AntHandler rootHandler)

      Creates a new RootHandler instance.
      Parameters:
        `context` - The context for the handler.
        `rootHandler` - The handler for the root element.

  - ### Method Detail

    - #### getCurrentAntHandler

          public ProjectHelper2.AntHandler getCurrentAntHandler()

      Returns the current ant handler object.
      Returns:
        the current ant handler.

    - #### resolveEntity

          public org.xml.sax.InputSource resolveEntity​(java.lang.String publicId,
                                                       java.lang.String systemId)

      Resolves file: URIs relative to the build file.
      Specified by:
        `resolveEntity` in interface `org.xml.sax.EntityResolver`
      Overrides:
        `resolveEntity` in class `org.xml.sax.helpers.DefaultHandler`
      Parameters:
        `publicId` - The public identifier, or `null` if none is available. Ignored in this implementation.
        `systemId` - The system identifier provided in the XML document. Will not be `null`.
      Returns:
        an inputsource for this identifier

    - #### startElement

          public void startElement​(java.lang.String uri,
                                   java.lang.String tag,
                                   java.lang.String qname,
                                   org.xml.sax.Attributes attrs)
                            throws org.xml.sax.SAXParseException

      Handles the start of a project element. A project handler is created and initialised with the element name and attributes.
      Specified by:
        `startElement` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `startElement` in class `org.xml.sax.helpers.DefaultHandler`
      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`.
      Throws:
        `org.xml.sax.SAXParseException` - if the tag given is not `"project"`

    - #### setDocumentLocator

          public void setDocumentLocator​(org.xml.sax.Locator locator)

      Sets the locator in the project helper for future reference.
      Specified by:
        `setDocumentLocator` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `setDocumentLocator` in class `org.xml.sax.helpers.DefaultHandler`
      Parameters:
        `locator` - The locator used by the parser. Will not be `null`.

    - #### endElement

          public void endElement​(java.lang.String uri,
                                 java.lang.String name,
                                 java.lang.String qName)
                          throws org.xml.sax.SAXException

      Handles the end of an element. Any required clean-up is performed by the onEndElement() method and then the original handler is restored to the parser.
      Specified by:
        `endElement` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `endElement` in class `org.xml.sax.helpers.DefaultHandler`
      Parameters:
        `uri` - The namespace URI for this element.
        `name` - The name of the element which is ending. Will not be `null`.
        `qName` - The qualified name for this element.
      Throws:
        `org.xml.sax.SAXException` - in case of error (not thrown in this implementation)

    - #### characters

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

      Handle text within an element, calls currentHandler.characters.
      Specified by:
        `characters` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `characters` in class `org.xml.sax.helpers.DefaultHandler`
      Parameters:
        `buf` - A character array of the test.
        `start` - The start offset in the array.
        `count` - The number of characters to read.
      Throws:
        `org.xml.sax.SAXParseException` - if an error occurs

    - #### startPrefixMapping

          public void startPrefixMapping​(java.lang.String prefix,
                                         java.lang.String uri)

      Start a namespace prefix to uri mapping
      Specified by:
        `startPrefixMapping` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `startPrefixMapping` in class `org.xml.sax.helpers.DefaultHandler`
      Parameters:
        `prefix` - the namespace prefix
        `uri` - the namespace uri

    - #### endPrefixMapping

          public void endPrefixMapping​(java.lang.String prefix)

      End a namespace prefix to uri mapping
      Specified by:
        `endPrefixMapping` in interface `org.xml.sax.ContentHandler`
      Overrides:
        `endPrefixMapping` in class `org.xml.sax.helpers.DefaultHandler`
      Parameters:
        `prefix` - the prefix that is not mapped anymore