org.apache.tools.ant.helper

## Class ProjectHelper2

- java.lang.Object
- - org.apache.tools.ant.ProjectHelper
  - - org.apache.tools.ant.helper.ProjectHelper2

    public class ProjectHelper2
    extends ProjectHelper

Sax2 based project reader

### Nested Class Summary

Nested Classes
`static class` `ProjectHelper2.AntHandler` The common superclass for all SAX event handlers used to parse the configuration file.
`static class` `ProjectHelper2.ElementHandler` Handler for all project elements ( tasks, data types )
`static class` `ProjectHelper2.MainHandler` The main handler - it handles the <project> tag.
`static class` `ProjectHelper2.ProjectHandler` Handler for the top level "project" element.
`static class` `ProjectHelper2.RootHandler` Handler for ant processing.
`static class` `ProjectHelper2.TargetHandler` Handler for "target" and "extension-point" elements.

### Nested classes/interfaces inherited from class org.apache.tools.ant.ProjectHelper

`ProjectHelper.OnMissingExtensionPoint`

### Field Summary

Fields
`static java.lang.String` `REFID_TARGETS` Reference holding the (ordered) target Vector

### Fields inherited from class org.apache.tools.ant.ProjectHelper

`ANT_CORE_URI, ANT_CURRENT_URI, ANT_TYPE, ANTLIB_URI, HELPER_PROPERTY, PROJECTHELPER_REFERENCE, SERVICE_ID`

### Constructor Summary

Constructors
Constructor and Description
`ProjectHelper2()`

### Method Summary

Methods
`boolean` `canParseAntlibDescriptor(Resource resource)` Whether this instance of ProjectHelper can parse an Antlib descriptor given by the URL and return its content as an UnknownElement ready to be turned into an Antlib task.
`protected static ProjectHelper2.AntHandler` `getElementHandler()` Returns element handler
`protected static ProjectHelper2.AntHandler` `getMainHandler()` Returns main handler
`protected static ProjectHelper2.AntHandler` `getProjectHandler()` Returns project handler
`protected static ProjectHelper2.AntHandler` `getTargetHandler()` Returns target handler
`void` `parse(Project project, java.lang.Object source)` Parse a source xml input.
`void` `parse(Project project, java.lang.Object source, ProjectHelper2.RootHandler handler)` Parses the project file, configuring the project as it goes.
`UnknownElement` `parseAntlibDescriptor(Project containingProject, Resource resource)` Parse the given URL as an antlib descriptor and return the content as something that can be turned into an Antlib task.
`UnknownElement` `parseUnknownElement(Project project, java.net.URL source)` Parse an unknown element from a url
`protected static void` `setElementHandler(ProjectHelper2.AntHandler handler)` Sets element handler
`protected static void` `setMainHandler(ProjectHelper2.AntHandler handler)` Sets main handler
`protected static void` `setProjectHandler(ProjectHelper2.AntHandler handler)` Sets project handler
`protected static void` `setTargetHandler(ProjectHelper2.AntHandler handler)` Sets target handler

### Methods inherited from class org.apache.tools.ant.ProjectHelper

`addLocationToBuildException, addText, addText, canParseBuildFile, configure, configureProject, extractNameFromComponentName, extractUriFromComponentName, genComponentName, getContextClassLoader, getCurrentPrefixSeparator, getCurrentTargetPrefix, getDefaultBuildFile, getExtensionStack, getImportStack, getProjectHelper, isInIncludeMode, parsePropertyString, replaceProperties, replaceProperties, setCurrentPrefixSeparator, setCurrentTargetPrefix, setInIncludeMode, storeChild`

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

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

### Field Detail

#### REFID_TARGETS

    public static final java.lang.String REFID_TARGETS

Reference holding the (ordered) target Vector

See Also:
  Constant Field Values

### Constructor Detail

#### ProjectHelper2

    public ProjectHelper2()

### Method Detail

#### canParseAntlibDescriptor

    public boolean canParseAntlibDescriptor(Resource resource)

Whether this instance of ProjectHelper can parse an Antlib descriptor given by the URL and return its content as an UnknownElement ready to be turned into an Antlib task.

This implementation returns true.

Overrides:
  `canParseAntlibDescriptor` in class `ProjectHelper`
Since:
  Ant 1.8.0

#### parseAntlibDescriptor

    public UnknownElement parseAntlibDescriptor(Project containingProject,
                                       Resource resource)

Parse the given URL as an antlib descriptor and return the content as something that can be turned into an Antlib task.

simply delegates to `parseUnknownElement` if the resource provides an URL and throws an exception otherwise.

Overrides:
  `parseAntlibDescriptor` in class `ProjectHelper`
Since:
  Ant 1.8.0

#### parseUnknownElement

    public UnknownElement parseUnknownElement(Project project,
                                     java.net.URL source)
                                       throws BuildException

Parse an unknown element from a url

Parameters:
  `project` - the current project
  `source` - the url containing the task
Returns:
  a configured task
Throws:
  `BuildException` - if an error occurs

#### parse

    public void parse(Project project,
             java.lang.Object source)
               throws BuildException

Parse a source xml input.

Overrides:
  `parse` in class `ProjectHelper`
Parameters:
  `project` - the current project
  `source` - the xml source
Throws:
  `BuildException` - if an error occurs

#### parse

    public void parse(Project project,
             java.lang.Object source,
             ProjectHelper2.RootHandler handler)
               throws BuildException

Parses the project file, configuring the project as it goes.

Parameters:
  `project` - the current project
  `source` - the xml source
  `handler` - the root handler to use (contains the current context)
Throws:
  `BuildException` - if the configuration is invalid or cannot be read

#### getMainHandler

    protected static ProjectHelper2.AntHandler getMainHandler()

Returns main handler

Returns:
  main handler

#### setMainHandler

    protected static void setMainHandler(ProjectHelper2.AntHandler handler)

Sets main handler

Parameters:
  `handler` - new main handler

#### getProjectHandler

    protected static ProjectHelper2.AntHandler getProjectHandler()

Returns project handler

Returns:
  project handler

#### setProjectHandler

    protected static void setProjectHandler(ProjectHelper2.AntHandler handler)

Sets project handler

Parameters:
  `handler` - new project handler

#### getTargetHandler

    protected static ProjectHelper2.AntHandler getTargetHandler()

Returns target handler

Returns:
  target handler

#### setTargetHandler

    protected static void setTargetHandler(ProjectHelper2.AntHandler handler)

Sets target handler

Parameters:
  `handler` - new target handler

#### getElementHandler

    protected static ProjectHelper2.AntHandler getElementHandler()

Returns element handler

Returns:
  element handler

#### setElementHandler

    protected static void setElementHandler(ProjectHelper2.AntHandler handler)

Sets element handler

Parameters:
  `handler` - new element handler