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, EchoProperties.FormatAttribute, EchoXML.NamespacePolicy, 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, FTPTask.Action, FTPTask.FTPSystemType, FTPTask.Granularity, Input.HandlerType, IsLastModified.CompareMode, 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, Zip.Duplicate, Zip.UnicodeExtraField, Zip.WhenEmpty, Zip.Zip64ModeAttribute

      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

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

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `EnumeratedAttribute()` bean constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `containsValue(java.lang.String value)` Is this value included in the enumeration?
    `int` | `getIndex()`
    `static EnumeratedAttribute` | `getInstance(java.lang.Class<? extends EnumeratedAttribute> 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<? extends EnumeratedAttribute> 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.