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
用於處理地圖欄位值的 |
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 |
找不到欄位 |
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 欄位中項目的索引鍵或空值。 |
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 :地圖選項的鍵,或空值。 |
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 |
如果要檢查的欄位無法存取 |