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