org.apache.tools.ant.types

Class EnumeratedAttribute

Known Direct 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, FixCrLfFilter.AddAsisRemove, FixCrLfFilter.CrLf, FixCRLF.AddAsisRemove, FixCRLF.CrLf, FormatterElement.TypeAttribute, FTP.Action, FTP.FTPSystemType, FTP.Granularity, FTP.LanguageCode, Ilasm.TargetTypes, Ildasm.EncodingTypes, Ildasm.VisibilityOptions, Input.HandlerType, Jar.FilesetManifestConfig, 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.Unit, PropertyFile.Entry.Operation, PropertyFile.Entry.Type, 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 String
value
The selected value in this enumeration.

Constructor Summary

EnumeratedAttribute()
bean constructor

Method Summary

boolean
containsValue(String value)
Is this value included in the enumeration?
int
getIndex()
static EnumeratedAttribute
getInstance(Class clazz, String value)
Factory method for instantiating EAs via API in a more developer friendly way.
String
getValue()
abstract String[]
getValues()
This is the only method a subclass needs to implement.
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.

Field Details

value

protected String value
The selected value in this enumeration.

Constructor Details

EnumeratedAttribute

protected EnumeratedAttribute()
bean constructor

Method Details

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

getIndex

public final int getIndex()
Returns:
the index of the selected value in the array.

getInstance

public static EnumeratedAttribute getInstance(Class 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.

getValue

public final String getValue()
Returns:
the selected value.

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.

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.

setValue

public final 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

toString

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