選項設置器

public class OptionSetter
extends Object

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


填充Option字段。

支持byte、short、int、long、float、double等數字字段的設置。這包括未裝箱和裝箱版本(例如 int 與 Integer)。如果在設置參數以匹配所需類型時出現問題,則會拋出ConfigurationException

通過簡單地將字符串參數包裝在 File 對像中而不測試文件是否存在來支持文件選項字段。

只要選項設置器以其他方式支持參數類型,就支持參數化集合字段,例如 List<File> 和 Set<String>。集合字段應使用適當的集合實例進行初始化。

將處理所有字段,包括公共字段、受保護字段、默認(包)訪問權限、私有字段和繼承字段。

從 dalvik.runner.OptionParser 移植

也可以看看:

概括

嵌套類

class OptionSetter.OptionFieldsForName

具有給定名稱的選項字段列表的容器。

常量

char NAMESPACE_SEPARATOR

公共構造函數

OptionSetter (Object... optionSources)

構造一個新的 OptionParser 來設置“optionSources”的@Option 字段。

OptionSetter ( optionSources) OptionSetter ( 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的名稱。

常量

名稱空間_SEPARATOR

public static final char NAMESPACE_SEPARATOR

常量值:58 (0x0000003a)

公共構造函數

選項設置器

public OptionSetter (Object... optionSources)

構造一個新的 OptionParser 來設置“optionSources”的@Option 字段。

參數
optionSources Object

投擲
com.android.tradefed.config.ConfigurationException
ConfigurationException

選項設置器

public OptionSetter ( optionSources)

構造一個新的 OptionParser 來設置“optionSources”的@Option 字段。

參數
optionSources

投擲
com.android.tradefed.config.ConfigurationException
ConfigurationException

公共方法

獲取字段值

public static Object getFieldValue (Field field, 
                Object optionObject)

返回給定的ERROR(/Field)的值,處理任何異常。

參數
field FieldERROR(/Field)

optionObject Object :要從中獲取字段值的ERROR(/Object)

退貨
Object該字段的值為ERROR(/Object)null

獲取KeyStore

public IKeyStoreClient getKeyStore ()

退貨
IKeyStoreClient

getOptionFieldsForClass

public static  getOptionFieldsForClass (Class<?> optionClass)

獲取給定類的所有Option字段(聲明的和繼承的)的列表。

參數
optionClass Class : 要搜索的ERROR(/Class)

退貨
帶有Option註釋的字段的ERROR(/Collection)

getTypeForOption

public String getTypeForOption (String name)

返回描述具有給定名稱的字段類型的字符串。

參數
name String : Option字段名稱

退貨
String描述字段類型的ERROR(/String)

投擲
ConfigurationException如果找不到字段

isBooleanOption

public boolean isBooleanOption (String name)

參數
name String

退貨
boolean

投擲
ConfigurationException

isMapOption

public boolean isMapOption (String name)

參數
name String

退貨
boolean

投擲
ConfigurationException

設置密鑰庫

public void setKeyStore (IKeyStoreClient keyStore)

參數
keyStore IKeyStoreClient

設置選項值

public  setOptionValue (String optionName, 
                String valueText)

設置非映射選項的值。

參數
optionName String : 要設置的選項的名稱

valueText String :值

退貨
與修改的每個對象字段對應的ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef)列表。

投擲
ConfigurationException如果找不到選項或 valueText 類型錯誤

設置選項值

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

設置選項的值。

參數
optionName String : 要設置的選項的名稱

keyText String : Map 選項的鍵,或者為 null。

valueText String :值

退貨
與修改的每個對象字段對應的ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef)列表。

投擲
ConfigurationException如果找不到選項或 valueText 類型錯誤

驗證遠程文件路徑

public final  validateRemoteFilePath (DynamicRemoteFileResolver resolver)

遍歷所有ERROR(/File)選項類型並檢查是否應解析它們的路徑。

參數
resolver DynamicRemoteFileResolver :用於解析文件的DynamicRemoteFileResolver

退貨
以這種方式解決的ERROR(/File)列表。

投擲
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

受保護的方法

getUnsetMandatoryOptions

protected  getUnsetMandatoryOptions ()

返回所有標記為mandatory但未設置的Option的名稱。

退貨
ERROR( ERROR(/String) ERROR(/Collection)包含未設置的強制選項的(非限定)名稱。

投擲
ConfigurationException如果要檢查的字段不可訪問