org.apache.tools.ant.taskdefs.optional.extension

## Class ExtensionSet

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.taskdefs.optional.extension.ExtensionSet

- All Implemented Interfaces:
    java.lang.Cloneable

      public class ExtensionSet
      extends DataType

  The Extension set lists a set of "Optional Packages" / "Extensions".

- - ### Field Summary

    - ### Fields inherited from class org.apache.tools.ant.types.DataType

      `checked, ref`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExtensionSet()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addExtension(ExtensionAdapter extensionAdapter)` Adds an extension that this library requires.
    `void` | `addFileset(FileSet fileSet)` Adds a set of files about which extensions data will be extracted.
    `void` | `addLibfileset(LibFileSet fileSet)` Adds a set of files about which extensions data will be extracted.
    `protected void` | `dieOnCircularReference(java.util.Stack stk, Project p)` Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).
    `void` | `setRefid(Reference reference)` Makes this instance in effect a reference to another ExtensionSet instance.
    `Extension[]` | `toExtensions(Project proj)` Extract a set of Extension objects from the ExtensionSet.
    `java.lang.String` | `toString()` Basic DataType toString().

    - ### Methods inherited from class org.apache.tools.ant.types.DataType

      `checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

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

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

- - ### Constructor Detail

    - #### ExtensionSet

          public ExtensionSet()

  - ### Method Detail

    - #### addExtension

          public void addExtension(ExtensionAdapter extensionAdapter)

      Adds an extension that this library requires.
      Parameters:
        `extensionAdapter` - an extension that this library requires.

    - #### addLibfileset

          public void addLibfileset(LibFileSet fileSet)

      Adds a set of files about which extensions data will be extracted.
      Parameters:
        `fileSet` - a set of files about which extensions data will be extracted.

    - #### addFileset

          public void addFileset(FileSet fileSet)

      Adds a set of files about which extensions data will be extracted.
      Parameters:
        `fileSet` - a set of files about which extensions data will be extracted.

    - #### toExtensions

          public Extension[] toExtensions(Project proj)
                                   throws BuildException

      Extract a set of Extension objects from the ExtensionSet.
      Parameters:
        `proj` - the project instance.
      Returns:
        an array containing the Extensions from this set
      Throws:
        `BuildException` - if an error occurs

    - #### setRefid

          public void setRefid(Reference reference)
                        throws BuildException

      Makes this instance in effect a reference to another ExtensionSet instance.

      You must not set another attribute or nest elements inside this element if you make it a reference.

      Overrides:
        `setRefid` in class `DataType`
      Parameters:
        `reference` - the reference to which this instance is associated
      Throws:
        `BuildException` - if this instance already has been configured.

    - #### dieOnCircularReference

          protected void dieOnCircularReference(java.util.Stack stk,
                                    Project p)
                                         throws BuildException

      Description copied from class: `DataType`
      Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).

      If one is included, throw a BuildException created by `circularReference`.

      This implementation is appropriate only for a DataType that cannot hold other DataTypes as children.

      The general contract of this method is that it shouldn't do anything if ``checked`` is true and set it to true on exit.

      Overrides:
        `dieOnCircularReference` in class `DataType`
      Parameters:
        `stk` - the stack of references to check.
        `p` - the project to use to dereference the references.
      Throws:
        `BuildException` - on error.

    - #### toString

          public java.lang.String toString()

      Description copied from class: `DataType`
      Basic DataType toString().
      Overrides:
        `toString` in class `DataType`
      Returns:
        the extensions in a string.
      See Also:
        `Object.toString()`