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 字段值的 |
class |
OptionSetter.OptionFieldsForName
包含指定名称的选项字段列表的容器。 |
常量 | |
|---|---|
char |
NAMESPACE_SEPARATOR
|
公共构造函数 | |
|---|---|
OptionSetter(
构造一个新的 OptionParser,用于设置“optionSources”的 @Option 字段。 |
|
OptionSetter(Object... optionSources)
构造一个新的 OptionParser,用于设置“optionSources”的 @Option 字段。 |
|
公共方法 | |
|---|---|
static
Object
|
getFieldValue(Field field, Object optionObject)
返回给定 |
static
OptionSetter.Handler<T>
|
getHandler(Type type)
|
IKeyStoreClient
|
getKeyStore()
|
static
|
getOptionFieldsForClass(Class<?> optionClass)
获取给定类的所有 |
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)
设置指定 |
void
|
setKeyStore(IKeyStoreClient keyStore)
|
|
setOptionValue(String optionName, String valueText)
为非映射选项设置值。 |
|
setOptionValue(String optionName, String keyText, String valueText)
设置选项的值。 |
final
|
validateRemoteFilePath(DynamicRemoteFileResolver resolver)
运行所有 |
受保护的方法 | |
|---|---|
|
getUnsetMandatoryOptions()
返回标记为 |
常量
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 |
Field:ERROR(/Field) |
optionObject |
Object:要从中获取字段值的 Object。 |
| 返回 | |
|---|---|
Object |
字段的值为 Object 或 null |
getHandler
public static OptionSetter.Handler<T> getHandler (Type type)
| 参数 | |
|---|---|
type |
Type |
| 返回 | |
|---|---|
OptionSetter.Handler<T> |
|
| 抛出 | |
|---|---|
ConfigurationException |
|
getOptionFieldsForClass
public staticgetOptionFieldsForClass (Class<?> optionClass)
获取给定类的所有 Option 字段(声明的和继承的)的列表。
| 参数 | |
|---|---|
optionClass |
Class:要搜索的 Class |
| 返回 | |
|---|---|
|
带有 Option 注解的字段的 ERROR(/Collection) |
getTypeForOption
public String getTypeForOption (String name)
返回一个字符串,用于描述具有给定名称的字段的类型。
| 参数 | |
|---|---|
name |
String:Option 字段名称 |
| 返回 | |
|---|---|
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 |
String:Option 中指定的名称 |
optionSource |
Object:要设置的 Object |
field |
Field:ERROR(/Field) |
key |
Object:ERROR(/Map) 或 MultiMap 字段中条目的键,或 null。 |
value |
Object:要设置的值 |
checkOption |
boolean |
| 返回 | |
|---|---|
boolean |
字段是否已设置。 |
| 抛出 | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
另见:
setOptionValue
publicsetOptionValue (String optionName, String valueText)
为非映射选项设置值。
| 参数 | |
|---|---|
optionName |
String:要设置的选项的名称 |
valueText |
String:值 |
| 返回 | |
|---|---|
|
与每个被修改的对象字段对应的 ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef) 列表。 |
| 抛出 | |
|---|---|
ConfigurationException |
如果找不到选项或 valueText 的类型有误 |
setOptionValue
publicsetOptionValue (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 finalvalidateRemoteFilePath (DynamicRemoteFileResolver resolver)
运行所有 ERROR(/File) 选项类型,并检查是否应解析其路径。
| 参数 | |
|---|---|
resolver |
DynamicRemoteFileResolver:用于解析文件的 DynamicRemoteFileResolver。 |
| 返回 | |
|---|---|
|
以这种方式解决的 ERROR(/File) 列表。 |
| 抛出 | |
|---|---|
|
com.android.tradefed.build.BuildRetrievalError |
BuildRetrievalError |
|
受保护的方法
getUnsetMandatoryOptions
protectedgetUnsetMandatoryOptions ()
返回标记为 mandatory 但仍未设置的所有 Option 的名称。
| 返回 | |
|---|---|
|
一个包含 String 的 ERROR(/Collection),其中包含未设置的强制性选项的(未限定)名称。 |
| 抛出 | |
|---|---|
ConfigurationException |
如果要检查的字段无法访问 |