Package 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:
  `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
  Description
  `ExtensionSet()`

- ## Method Summary

  Modifier and Type
  Method
  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(Stack<Object> 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.
  `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, 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 Details

  - ### ExtensionSet

    public ExtensionSet()

- ## Method Details

  - ### 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(Stack<Object> 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 `DataType.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 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()`