OptionSetter

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

 

class OptionSetter.MapHandler

用於處理地圖欄位值的 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 找不到欄位

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 欄位中項目的索引鍵或空值。

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:地圖選項的鍵,或空值。

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 名稱。

傳回
包含未設定的強制選項 (未限定) 名稱的 String ERROR(/Collection)

擲回
ConfigurationException 如果要檢查的欄位無法存取