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, 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 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 Description
    protected java.lang.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
    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)
    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 Details

    • value

      protected java.lang.String value
      The selected value in this enumeration.
  • Constructor Details

  • Method Details

    • 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:
      https://issues.apache.org/bugzilla/show_bug.cgi?id=14831
    • setValue

      public void setValue​(java.lang.String value) throws BuildException
      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.