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.Handler<T>

 

class OptionSetter.MapHandler

用于处理 Map 字段值的 Handler。 

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) 的值,并处理任何异常。

static OptionSetter.Handler<T> getHandler(Type type)
IKeyStoreClient getKeyStore()
static getOptionFieldsForClass(Class<?> optionClass)

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

String getTypeForOption(String name)

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

boolean isBooleanOption(String name)
boolean isMapOption(String name)
static boolean setFieldValue(String optionName, Object optionSource, Field field, Object key, Object value, boolean checkOption)

设置指定 Option 字段的值。

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

getHandler

public static OptionSetter.Handler<T> getHandler (Type type)

参数
type Type

返回
OptionSetter.Handler<T>

抛出
ConfigurationException

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

setFieldValue

public static boolean setFieldValue (String optionName, 
                Object optionSource, 
                Field field, 
                Object key, 
                Object value, 
                boolean checkOption)

设置指定 Option 字段的值。

参数
optionName StringOption 中指定的名称

optionSource Object:要设置的 Object

field FieldERROR(/Field)

key ObjectERROR(/Map)MultiMap 字段中条目的键,或 null。

value Object:要设置的值

checkOption boolean

返回
boolean 字段是否已设置。

抛出
com.android.tradefed.config.ConfigurationException
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 如果要检查的字段无法访问