OptionSetter

public class OptionSetter
extends Object

java.lang.Object
   ↳ com.android.tradefed.config.OptionSetter


Populates Option fields.

Setting of numeric fields such byte, short, int, long, float, and double fields is supported. This includes both unboxed and boxed versions (e.g. int vs Integer). If there is a problem setting the argument to match the desired type, a ConfigurationException is thrown.

File option fields are supported by simply wrapping the string argument in a File object without testing for the existence of the file.

Parameterized Collection fields such as List<File> and Set<String> are supported as long as the parameter type is otherwise supported by the option setter. The collection field should be initialized with an appropriate collection instance.

All fields will be processed, including public, protected, default (package) access, private and inherited fields.

ported from dalvik.runner.OptionParser

See also:

Summary

Nested classes

class OptionSetter.OptionFieldsForName

Container for the list of option fields with given name. 

Constants

char NAMESPACE_SEPARATOR

Public constructors

OptionSetter( optionSources)

Constructs a new OptionParser for setting the @Option fields of 'optionSources'.

OptionSetter(Object... optionSources)

Constructs a new OptionParser for setting the @Option fields of 'optionSources'.

Public methods

static Object getFieldValue(Field field, Object optionObject)

Return the given ERROR(/Field)'s value, handling any exceptions.

IKeyStoreClient getKeyStore()
static getOptionFieldsForClass(Class<?> optionClass)

Gets a list of all Option fields (both declared and inherited) for given class.

String getTypeForOption(String name)

Returns a string describing the type of the field with given name.

boolean isBooleanOption(String name)
boolean isMapOption(String name)
void setKeyStore(IKeyStoreClient keyStore)
setOptionValue(String optionName, String valueText)

Sets the value for a non-map option.

setOptionValue(String optionName, String keyText, String valueText)

Sets the value for an option.

final validateRemoteFilePath(DynamicRemoteFileResolver resolver)

Runs through all the ERROR(/File) option type and check if their path should be resolved.

Protected methods

getUnsetMandatoryOptions()

Returns the names of all of the Options that are marked as mandatory but remain unset.

Constants

NAMESPACE_SEPARATOR

public static final char NAMESPACE_SEPARATOR

Constant Value: 58 (0x0000003a)

Public constructors

OptionSetter

public OptionSetter ( optionSources)

Constructs a new OptionParser for setting the @Option fields of 'optionSources'.

Parameters
optionSources

Throws
com.android.tradefed.config.ConfigurationException
ConfigurationException

OptionSetter

public OptionSetter (Object... optionSources)

Constructs a new OptionParser for setting the @Option fields of 'optionSources'.

Parameters
optionSources Object

Throws
com.android.tradefed.config.ConfigurationException
ConfigurationException

Public methods

getFieldValue

public static Object getFieldValue (Field field, 
                Object optionObject)

Return the given ERROR(/Field)'s value, handling any exceptions.

Parameters
field Field: the ERROR(/Field)

optionObject Object: the Object to get field's value from.

Returns
Object the field's value as a Object, or null

getKeyStore

public IKeyStoreClient getKeyStore ()

Returns
IKeyStoreClient

getOptionFieldsForClass

public static  getOptionFieldsForClass (Class<?> optionClass)

Gets a list of all Option fields (both declared and inherited) for given class.

Parameters
optionClass Class: the Class to search

Returns
a ERROR(/Collection) of fields annotated with Option

getTypeForOption

public String getTypeForOption (String name)

Returns a string describing the type of the field with given name.

Parameters
name String: the Option field name

Returns
String a String describing the field's type

Throws
ConfigurationException if field could not be found

isBooleanOption

public boolean isBooleanOption (String name)

Parameters
name String

Returns
boolean

Throws
ConfigurationException

isMapOption

public boolean isMapOption (String name)

Parameters
name String

Returns
boolean

Throws
ConfigurationException

setKeyStore

public void setKeyStore (IKeyStoreClient keyStore)

Parameters
keyStore IKeyStoreClient

setOptionValue

public  setOptionValue (String optionName, 
                String valueText)

Sets the value for a non-map option.

Parameters
optionName String: the name of Option to set

valueText String: the value

Returns
A list of ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef)s corresponding to each object field that was modified.

Throws
ConfigurationException if Option cannot be found or valueText is wrong type

setOptionValue

public  setOptionValue (String optionName, 
                String keyText, 
                String valueText)

Sets the value for an option.

Parameters
optionName String: the name of Option to set

keyText String: the key for Map options, or null.

valueText String: the value

Returns
A list of ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef)s corresponding to each object field that was modified.

Throws
ConfigurationException if Option cannot be found or valueText is wrong type

validateRemoteFilePath

public final  validateRemoteFilePath (DynamicRemoteFileResolver resolver)

Runs through all the ERROR(/File) option type and check if their path should be resolved.

Parameters
resolver DynamicRemoteFileResolver: The DynamicRemoteFileResolver to use to resolve the files.

Returns
The list of ERROR(/File) that was resolved that way.

Throws
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

Protected methods

getUnsetMandatoryOptions

protected  getUnsetMandatoryOptions ()

Returns the names of all of the Options that are marked as mandatory but remain unset.

Returns
A ERROR(/Collection) of Strings containing the (unqualified) names of unset mandatory options.

Throws
ConfigurationException if a field to be checked is inaccessible