OptionSetter

public class OptionSetter
extends Object

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


填充 Option 字段。

支持设置字节、短整数、整数、长整数、浮点数和双精度数字段。 这包括开箱版本和盒装版本(例如 int 与 Integer)。如果在将参数设置为与所需类型匹配时遇到问题,系统会抛出 ConfigurationException

只需将字符串参数封装在 File 对象中,而无需测试文件是否存在,即可支持文件选项字段。

系统支持参数化集合字段(例如 List<File> 和 Set<String>),前提是选项设置器支持其他参数类型。集合字段应使用适当的集合实例进行初始化。

系统会处理所有字段,包括公共、受保护、默认(软件包)访问权限、私有和继承字段。

从 dalvik.runner.OptionParser 移植

另见:

摘要

嵌套类

class OptionSetter.OptionFieldsForName

包含给定名称的选项字段列表的容器。 

常量

char NAMESPACE_SEPARATOR

公共构造函数

OptionSetter( optionSources)

构造一个新的 OptionParser,用于设置“optionSources”的 @Option 字段。

OptionSetter(Object... optionSources)

构造一个新的 OptionParser,用于设置“optionSources”的 @Option 字段。

公共方法

static Object getFieldValue(Field field, Object optionObject)

返回给定 ERROR(/Field) 的值,并处理任何异常。

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

获取给定类的所有 Option 字段(声明的和继承的)的列表。

String getTypeForOption(String name)

返回一个字符串,用于描述具有给定名称的字段的类型。

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

为非映射选项设置值。

setOptionValue(String optionName, String keyText, String valueText)

设置选项的值。

final validateRemoteFilePath(DynamicRemoteFileResolver resolver)

运行所有 ERROR(/File) 选项类型,并检查是否应解析其路径。

受保护的方法

getUnsetMandatoryOptions()

返回标记为 mandatory 但仍未设置的所有 Option 的名称。

常量

NAMESPACE_SEPARATOR

public static final char NAMESPACE_SEPARATOR

常量值: 58 (0x0000003a)

公共构造函数

OptionSetter

public OptionSetter ( optionSources)

构造一个新的 OptionParser,用于设置“optionSources”的 @Option 字段。

参数
optionSources

抛出
com.android.tradefed.config.ConfigurationException
ConfigurationException

OptionSetter

public OptionSetter (Object... optionSources)

构造一个新的 OptionParser,用于设置“optionSources”的 @Option 字段。

参数
optionSources Object

抛出
com.android.tradefed.config.ConfigurationException
ConfigurationException

公共方法

getFieldValue

public static Object getFieldValue (Field field, 
                Object optionObject)

返回给定 ERROR(/Field) 的值,并处理任何异常。

参数
field FieldERROR(/Field)

optionObject Object:要从中获取字段的值的 Object

返回
Object 字段的值为 Objectnull

getKeyStore

public IKeyStoreClient getKeyStore ()

返回
IKeyStoreClient

getOptionFieldsForClass

public static  getOptionFieldsForClass (Class<?> optionClass)

获取指定类的所有 Option 字段(包括已声明字段和继承字段)的列表。

参数
optionClass Class:要搜索的 Class

返回
带有 Option 注解的字段的 ERROR(/Collection)

getTypeForOption

public String getTypeForOption (String name)

返回一个字符串,用于描述具有给定名称的字段的类型。

参数
name StringOption 字段名称

返回
String 用于描述字段类型的 String

抛出
ConfigurationException if 字段找不到

isBooleanOption

public boolean isBooleanOption (String name)

参数
name String

返回
boolean

抛出
ConfigurationException

isMapOption

public boolean isMapOption (String name)

参数
name String

返回
boolean

抛出
ConfigurationException

setKeyStore

public void setKeyStore (IKeyStoreClient keyStore)

参数
keyStore IKeyStoreClient

setOptionValue

public  setOptionValue (String optionName, 
                String valueText)

设置非地图选项的值。

参数
optionName String:要设置的选项的名称

valueText String:值

返回
与每个被修改的对象字段对应的 ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef) 列表。

抛出
ConfigurationException 如果找不到选项或 valueText 的类型有误

setOptionValue

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

设置选项的值。

参数
optionName String:要设置的选项的名称

keyText String:地图选项的键,或 null。

valueText String:值

返回
与每个被修改的对象字段对应的 ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef) 列表。

抛出
ConfigurationException 如果找不到选项或 valueText 的类型有误

validateRemoteFilePath

public final  validateRemoteFilePath (DynamicRemoteFileResolver resolver)

运行所有 ERROR(/File) 选项类型,并检查是否应解析其路径。

参数
resolver DynamicRemoteFileResolver:用于解析文件的 DynamicRemoteFileResolver

返回
以这种方式解析的 ERROR(/File) 列表。

抛出
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

受保护的方法

getUnsetMandatoryOptions

protected  getUnsetMandatoryOptions ()

返回标记为 mandatory 但未设置的所有 Option 的名称。

返回
一个包含 StringERROR(/Collection),其中包含未设置的强制性选项的(未限定)名称。

抛出
ConfigurationException 如果要检查的字段无法访问