Package org.apache.tools.ant.types

# Class EnumeratedAttribute

java.lang.Object
org.apache.tools.ant.types.EnumeratedAttribute

Direct Known Subclasses:
  `AggregateTransformer.Format`, `Arc.ArcType`, `Available.FileDir`, `CharSet`, `Checksum.FormatElement`, `Comparison`, `Definer.Format`, `Definer.OnError`, `EchoProperties.FormatAttribute`, `EchoXML.NamespacePolicy`, `EjbJar.CMPVersion`, `EjbJar.NamingScheme`, `EmailTask.Encoding`, `ExecuteOn.FileDirBoth`, `FilterSet.OnMissing`, `FixCRLF.AddAsisRemove`, `FixCRLF.CrLf`, `FixCrLfFilter.AddAsisRemove`, `FixCrLfFilter.CrLf`, `ForkDefinition.ForkMode`, `FormatterElement.TypeAttribute`, `FTP.Action`, `FTP.FTPSystemType`, `FTP.Granularity`, `FTP.LanguageCode`, `FTPTask.Action`, `FTPTask.FTPSystemType`, `FTPTask.Granularity`, `ImageIOTask.ImageFormat`, `Input.HandlerType`, `IsLastModified.CompareMode`, `Jar.FilesetManifestConfig`, `Jar.StrictMode`, `Javadoc.AccessType`, `JDependTask.FormatAttribute`, `Jmod.ResolutionWarningReason`, `JUnitTask.ForkMode`, `JUnitTask.SummaryAttribute`, `Length.FileMode`, `Link.CompressionLevel`, `Link.Endianness`, `Link.VMType`, `ListenerDefinition.ListenerType`, `LogLevel`, `ManifestTask.Mode`, `Mapper.MapperType`, `ModifiedSelector.AlgorithmName`, `ModifiedSelector.CacheName`, `ModifiedSelector.ComparatorName`, `MSVSS.CurrentModUpdated`, `MSVSS.WritableFiles`, `MSVSSHISTORY.BriefCodediffNofile`, `NetRexxC.TraceAttr`, `NetRexxC.VerboseAttr`, `PathConvert.TargetOs`, `PresentSelector.FilePresence`, `PropertyFile.Entry.Operation`, `PropertyFile.Entry.Type`, `PropertyFile.Unit`, `PropertySet.BuiltinPropertySetName`, `Quantifier`, `Recorder.ActionChoices`, `Scale.ProportionsAttribute`, `Scale.ProportionsAttribute`, `SizeSelector.ByteUnits`, `SQLExec.DelimiterType`, `SQLExec.OnError`, `Tar.TarCompressionMethod`, `Tar.TarLongFileMode`, `TimeComparison`, `Tstamp.Unit`, `Type.FileDir`, `TypeSelector.FileType`, `Untar.UntarCompressionMethod`, `WaitFor.Unit`, `Zip.Duplicate`, `Zip.UnicodeExtraField`, `Zip.WhenEmpty`, `Zip.Zip64ModeAttribute`

public abstract class EnumeratedAttribute extends Object
Helper class for attributes that can only take one of a fixed list of values.

See `FixCRLF` for an example.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`value`
The selected value in this enumeration.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`EnumeratedAttribute()`
bean constructor

## Method Summary

Modifier and Type
Method
Description
`final boolean`
`containsValue(String value)`
Is this value included in the enumeration?
`final int`
`getIndex()`
`static EnumeratedAttribute`
`getInstance(Class<? extends EnumeratedAttribute> clazz, String value)`
Factory method for instantiating EAs via API in a more developer friendly way.
`final String`
`getValue()`
`abstract String[]`
`getValues()`
This is the only method a subclass needs to implement.
`final int`
`indexOfValue(String value)`
get the index of a value in this enumeration.
`void`
`setValue(String value)`
Invoked by `IntrospectionHelper`.
`String`
`toString()`
Convert the value to its string form.

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

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

## Field Details

### value

protected String value
The selected value in this enumeration.

## Constructor Details

### EnumeratedAttribute

protected EnumeratedAttribute()
bean constructor

## Method Details

### getValues

public abstract String[] getValues()
This is the only method a subclass needs to implement.

Returns:
  an array holding all possible values of the enumeration. The order of elements must be fixed so that `indexOfValue(String)` always return the same index for the same value.

### getInstance

public static EnumeratedAttribute getInstance(Class<? extends EnumeratedAttribute> clazz, String value) throws BuildException
Factory method for instantiating EAs via API in a more developer friendly way.

Parameters:
  `clazz` - Class, extending EA, which to instantiate
  `value` - The value to set on that EA
Returns:
  Configured EA
Throws:
  `BuildException` - If the class could not be found or the value is not valid for the given EA-class.
See Also:
  - https://issues.apache.org/bugzilla/show_bug.cgi?id=14831

### setValue

public void setValue(String value) throws BuildException
Invoked by `IntrospectionHelper`.

Parameters:
  `value` - the `String` value of the attribute
Throws:
  `BuildException` - if the value is not valid for the attribute

### containsValue

public final boolean containsValue(String value)
Is this value included in the enumeration?

Parameters:
  `value` - the `String` value to look up
Returns:
  true if the value is valid

### indexOfValue

public final int indexOfValue(String value)
get the index of a value in this enumeration.

Parameters:
  `value` - the string value to look for.
Returns:
  the index of the value in the array of strings or -1 if it cannot be found.
See Also:
  - `getValues()`

### getValue

public final String getValue()

Returns:
  the selected value.

### getIndex

public final int getIndex()

Returns:
  the index of the selected value in the array.
See Also:
  - `getValues()`

### toString

public String toString()
Convert the value to its string form.

Overrides:
  `toString` in class `Object`
Returns:
  the string form of the value.