OptionSetter
public
class
OptionSetter
extends Object
| java.lang.Object | |
| ↳ | com.android.tradefed.config.OptionSetter |
填入 Option 欄位。
支援設定位元組、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(Object... optionSources)
Constructs a new OptionParser for setting the @Option fields of 'optionSources'. |
|
OptionSetter(Collection<Object> optionSources)
Constructs a new OptionParser for setting the @Option fields of 'optionSources'. |
|
公用方法 | |
|---|---|
static
Object
|
getFieldValue(Field field, Object optionObject)
傳回指定 |
static
OptionSetter.Handler<T>
|
getHandler(Type type)
|
IKeyStoreClient
|
getKeyStore()
|
static
List<Field>
|
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)
|
List<OptionSetter.FieldDef>
|
setOptionValue(String optionName, String valueText)
設定非地圖選項的值。 |
List<OptionSetter.FieldDef>
|
setOptionValue(String optionName, String keyText, String valueText)
設定選項的值。 |
final
Set<File>
|
validateRemoteFilePath(DynamicRemoteFileResolver resolver)
逐一執行所有 |
受保護的方法 | |
|---|---|
Collection<String>
|
getUnsetMandatoryOptions()
傳回標記為 |
常數
NAMESPACE_SEPARATOR
public static final char NAMESPACE_SEPARATOR
常數值: 58 (0x0000003a)
公用建構函式
OptionSetter
public OptionSetter (Object... optionSources)
為設定「optionSources」的 @Option 欄位建構新的 OptionParser。
| 參數 | |
|---|---|
optionSources |
Object |
| 擲回 | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
OptionSetter
public OptionSetter (Collection<Object> optionSources)
為設定「optionSources」的 @Option 欄位建構新的 OptionParser。
| 參數 | |
|---|---|
optionSources |
Collection |
| 擲回 | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
公用方法
getFieldValue
public static Object getFieldValue (Field field,
Object optionObject)傳回指定 Field 的值,並處理任何例外狀況。
| 參數 | |
|---|---|
field |
Field:Field |
optionObject |
Object:要從中取得欄位值的 Object。 |
| 傳回 | |
|---|---|
Object |
欄位值為 Object 或 null |
getHandler
public static OptionSetter.Handler<T> getHandler (Type type)
| 參數 | |
|---|---|
type |
Type |
| 傳回 | |
|---|---|
OptionSetter.Handler<T> |
|
| 擲回 | |
|---|---|
ConfigurationException |
|
getOptionFieldsForClass
public static List<Field> getOptionFieldsForClass (Class<?> optionClass)
取得指定類別的所有 Option 欄位清單 (包括已宣告和已繼承的欄位)。
| 參數 | |
|---|---|
optionClass |
Class:要搜尋的 Class |
| 傳回 | |
|---|---|
List<Field> |
附帶 Option 註解的 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:Field |
key |
Object:Map 或 MultiMap 欄位中項目的鍵,或空值。 |
value |
Object:要設定的值 |
checkOption |
boolean |
| 傳回 | |
|---|---|
boolean |
欄位是否已設定。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
另請參閱:
setOptionValue
public List<OptionSetter.FieldDef> setOptionValue (String optionName,
String valueText)設定非地圖選項的值。
| 參數 | |
|---|---|
optionName |
String:要設定的選項名稱 |
valueText |
String:值 |
| 傳回 | |
|---|---|
List<OptionSetter.FieldDef> |
與每個已修改物件欄位對應的 ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef) 清單。 |
| 擲回 | |
|---|---|
ConfigurationException |
如果找不到選項或 valueText 的類型錯誤 |
setOptionValue
public List<OptionSetter.FieldDef> setOptionValue (String optionName,
String keyText,
String valueText)設定選項的值。
| 參數 | |
|---|---|
optionName |
String:要設定的選項名稱 |
keyText |
String:地圖選項的鍵,或空值。 |
valueText |
String:值 |
| 傳回 | |
|---|---|
List<OptionSetter.FieldDef> |
與每個已修改物件欄位對應的 ERROR(FieldDef/com.android.tradefed.config.OptionSetter.FieldDef FieldDef) 清單。 |
| 擲回 | |
|---|---|
ConfigurationException |
如果找不到選項或 valueText 的類型錯誤 |
validateRemoteFilePath
public final Set<File> validateRemoteFilePath (DynamicRemoteFileResolver resolver)
執行所有 File 選項型別,並檢查是否應解析路徑。
| 參數 | |
|---|---|
resolver |
DynamicRemoteFileResolver:用於解析檔案的 DynamicRemoteFileResolver。 |
| 傳回 | |
|---|---|
Set<File> |
以這種方式解決的 File 清單。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.build.BuildRetrievalError |
BuildRetrievalError |
|
受保護的方法
getUnsetMandatoryOptions
protected Collection<String> getUnsetMandatoryOptions ()
傳回標示為 mandatory 但仍未設定的所有 Option 名稱。
| 傳回 | |
|---|---|
Collection<String> |
A Collection of Strings containing the (unqualified) names of unset
mandatory options. |
| 擲回 | |
|---|---|
ConfigurationException |
要檢查的欄位無法存取 |