Package 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

All Methods Static Methods Instance Methods Concrete 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

Parameters:
  `buildFile` - Resource
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

Parameters:
  `antlib` - Resource
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`