## org.apache.tools.ant.types
Class EnumeratedAttribute

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

Direct Known Subclasses:
  AggregateTransformer.Format, Available.FileDir, Checksum.FormatElement, Comparison, Definer.Format, Definer.OnError, DotnetCompile.TargetTypes, EchoProperties.FormatAttribute, EjbJar.CMPVersion, EjbJar.NamingScheme, EmailTask.Encoding, ExecuteOn.FileDirBoth, FilterSet.OnMissing, FixCRLF.AddAsisRemove, FixCRLF.CrLf, FixCrLfFilter.AddAsisRemove, FixCrLfFilter.CrLf, FormatterElement.TypeAttribute, FTP.Action, FTP.FTPSystemType, FTP.Granularity, FTP.LanguageCode, Ilasm.TargetTypes, Ildasm.EncodingTypes, Ildasm.VisibilityOptions, Input.HandlerType, Jar.FilesetManifestConfig, Jar.StrictMode, Javadoc.AccessType, JDependTask.FormatAttribute, JUnitTask.ForkMode, JUnitTask.SummaryAttribute, Length.FileMode, 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, SizeSelector.ByteUnits, SQLExec.DelimiterType, SQLExec.OnError, Tar.TarCompressionMethod, Tar.TarLongFileMode, TimeComparison, Tstamp.Unit, Type.FileDir, TypeSelector.FileType, Untar.UntarCompressionMethod, WaitFor.Unit, WsdlToDotnet.Compiler, Zip.Duplicate, Zip.WhenEmpty

    public abstract class EnumeratedAttribute

extends java.lang.Object

Helper class for attributes that can only take one of a fixed list of values.

See `FixCRLF` for an example.

Field Summary
`protected java.lang.String` `value` The selected value in this enumeration.

Constructor Summary
`protected` `EnumeratedAttribute()` bean constructor

Method Summary
`boolean` `containsValue(java.lang.String value)` Is this value included in the enumeration?
`int` `getIndex()`
`static EnumeratedAttribute` `getInstance(java.lang.Class clazz, java.lang.String value)` Factory method for instantiating EAs via API in a more developer friendly way.
`java.lang.String` `getValue()`
`abstract java.lang.String[]` `getValues()` This is the only method a subclass needs to implement.
`int` `indexOfValue(java.lang.String value)` get the index of a value in this enumeration.
`void` `setValue(java.lang.String value)` Invoked by `IntrospectionHelper`.
`java.lang.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 Detail

### value

    protected java.lang.String value

  The selected value in this enumeration.

Constructor Detail

### EnumeratedAttribute

    protected EnumeratedAttribute()

  bean constructor

Method Detail

### getValues

    public abstract java.lang.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(java.lang.Class clazz,
                                                  java.lang.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:
    http://issues.apache.org/bugzilla/show_bug.cgi?id=14831

### setValue

    public final void setValue(java.lang.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(java.lang.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(java.lang.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 java.lang.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 java.lang.String toString()

  Convert the value to its string form.

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