## 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
`ProjectHelper2.RootHandler(AntXMLContext context, ProjectHelper2.AntHandler rootHandler)` Creates a new RootHandler instance.

Method Summary
`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 namepace 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

### ProjectHelper2.RootHandler

    public ProjectHelper2.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 namepace 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