org.apache.tools.ant

## Class ProjectHelperRepository

- java.lang.Object
- - org.apache.tools.ant.ProjectHelperRepository

    public class ProjectHelperRepository
    extends java.lang.Object

Repository of `ProjectHelper` found in the classpath or via some System properties.

See the ProjectHelper documentation in the manual.

Since:
  Ant 1.8.0

### Method Summary

Methods
`java.util.Iterator<ProjectHelper>` `getHelpers()` Get an iterator on the list of project helpers configured.
`static ProjectHelperRepository` `getInstance()`
`ProjectHelper` `getProjectHelperForAntlib(Resource antlib)` Get the helper that will be able to parse the specified antlib.
`ProjectHelper` `getProjectHelperForBuildFile(Resource buildFile)` Get the helper that will be able to parse the specified build file.
`void` `registerProjectHelper(java.lang.Class<? extends ProjectHelper> helperClass)` Register the specified project helper into the repository.
`void` `registerProjectHelper(java.lang.String helperClassName)` Register the specified project helper into the repository.

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

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

### Method Detail

#### getInstance

    public static ProjectHelperRepository getInstance()

#### registerProjectHelper

    public void registerProjectHelper(java.lang.String helperClassName)
                               throws BuildException

Register the specified project helper into the repository.

The helper will be added after all the already registered helpers, but before the default one (ProjectHelper2)

Parameters:
  `helperClassName` - the fully qualified name of the helper
Throws:
  `BuildException` - if the class cannot be loaded or if there is no constructor with no argument
Since:
  Ant 1.8.2

#### registerProjectHelper

    public void registerProjectHelper(java.lang.Class<? extends ProjectHelper> helperClass)
                               throws BuildException

Register the specified project helper into the repository.

The helper will be added after all the already registered helpers, but before the default one (ProjectHelper2)

Parameters:
  `helperClass` - the class of the helper
Throws:
  `BuildException` - if there is no constructor with no argument
Since:
  Ant 1.8.2

#### getProjectHelperForBuildFile

    public ProjectHelper getProjectHelperForBuildFile(Resource buildFile)
                                               throws BuildException

Get the helper that will be able to parse the specified build file. The helper will be chosen among the ones found in the classpath

Returns:
  the first ProjectHelper that fit the requirement (never `null`).
Throws:
  `BuildException`

#### getProjectHelperForAntlib

    public ProjectHelper getProjectHelperForAntlib(Resource antlib)
                                            throws BuildException

Get the helper that will be able to parse the specified antlib. The helper will be chosen among the ones found in the classpath

Returns:
  the first ProjectHelper that fit the requirement (never `null`).
Throws:
  `BuildException`

#### getHelpers

    public java.util.Iterator<ProjectHelper> getHelpers()

Get an iterator on the list of project helpers configured. The iterator will always return at least one element as there will always be the default project helper configured.

Returns:
  an iterator of `ProjectHelper`