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

### Method Summary

All Methods Instance Methods Concrete Methods
`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<java.lang.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.
`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, 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<java.lang.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 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()`