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 | 
          如果要检查的字段无法访问 |