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
    Modifier and Type | Method | Description
    --- | --- | ---
    `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`