ConfigurationFactory
public
class
ConfigurationFactory
extends Object
implements
IConfigurationFactory
| java.lang.Object | |
| ↳ | com.android.tradefed.config.ConfigurationFactory |
用於建立 IConfiguration 的處理站。
摘要
巢狀類別 | |
|---|---|
class |
ConfigurationFactory.ConfigLoader
IConfigDefLoader 的實作項目,可追蹤單一根設定中包含的設定,並在發生循環包含時擲回例外狀況。 |
class |
ConfigurationFactory.ExceptionLoader
|
受保護的建構函式 | |
|---|---|
ConfigurationFactory()
|
|
公用方法 | |
|---|---|
void
|
clearMapConfig()
在某些特定情況下,我們需要清除地圖。 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs, List<String> unconsumedArgs, IKeyStoreClient keyStoreClient)
使用金鑰存放區,從指令列引數建立 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs, List<String> unconsumedArgs)
從指令列引數建立 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs)
便利方法,會使用 |
IGlobalConfiguration
|
createGlobalConfigurationFromArgs(String[] arrayArgs, List<String> remainingArgs)
從指令列引數建立 |
IConfiguration
|
createPartialConfigurationFromArgs(String[] arrayArgs, IKeyStoreClient keyStoreClient, Set<String> allowedObjects, TradefedDelegator delegator)
建立只包含一組所選物件的設定。 |
void
|
dumpConfig(String configName, PrintStream out)
將設定內容傾印至指定 |
List<String>
|
getConfigList(String subPath, boolean loadFromEnv)
|
List<String>
|
getConfigList()
傳回類別路徑上 JAR 中所有設定的名稱清單。 |
static
IConfigurationFactory
|
getInstance()
取得單例模式 |
void
|
loadAllConfigs(boolean discardExceptions)
載入類別路徑和測試案例目錄中的所有設定。 |
void
|
loadAndPrintAllConfigs()
公用程式方法,用於檢查是否可以載入及剖析所有設定,並設定所有選項值。 |
void
|
printHelp(PrintStream out)
列印這個工廠的說明輸出內容。 |
void
|
printHelpForConfig(String[] args, boolean importantOnly, PrintStream out)
輸出指令列引數中指定的
如果「args」是指已知設定,系統會從 XML 建立 |
受保護的方法 | |
|---|---|
InputStream
|
getBundledConfigStream(String name)
|
String
|
getConfigPrefix()
傳回類別路徑上設定 XML 檔案的路徑前置字元 公開,以便單元測試可以模擬。 |
BufferedInputStream
|
getConfigStream(String name)
Loads an InputStream for given config name |
ConfigurationDef
|
getConfigurationDef(String name, boolean isGlobal, Map<String, String> templateMap)
針對指定名稱擷取 |
Map<ConfigurationFactory.ConfigId, ConfigurationDef>
|
getMapConfig()
公開測試。 |
boolean
|
isDirectConfiguration(String configName)
|
String[]
|
reorderArgs(String[] args)
重新排序引數,將 template:map 引數全部移至最前面。 |
IRemoteFileResolver.ResolvedFile
|
resolveRemoteFile(URI configURI, URI destDir)
|
受保護的建構函式
ConfigurationFactory
protected ConfigurationFactory ()
公用方法
clearMapConfig
public void clearMapConfig ()
在某些特定情況下,我們需要清除地圖。
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs, List<String> unconsumedArgs, IKeyStoreClient keyStoreClient)
使用金鑰儲存區,從指令列引數建立 IConfiguration。
預期格式為「CONFIG [options]」,其中 CONFIG 是內建設定名稱,或是設定 XML 檔案的路徑。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
unconsumedArgs |
List:這個清單會填入與指定設定相關聯的物件未使用的引數。如果是 null,則實作項目會擲回 ConfigurationException (如有任何未處理的引數)。 |
keyStoreClient |
IKeyStoreClient:用於在 args 中取得私密資訊的 IKeyStoreClient。 |
| 傳回 | |
|---|---|
IConfiguration |
已載入的 IConfiguration。委派物件 Option 欄位已填入 args 中的值。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs, List<String> unconsumedArgs)
從指令列引數建立 IConfiguration。
預期格式為「CONFIG [options]」,其中 CONFIG 是內建設定名稱,或是設定 XML 檔案的路徑。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
unconsumedArgs |
List:這個清單會填入與指定設定相關聯的物件未使用的引數。如果是 null,則實作項目會擲回 ConfigurationException (如有任何未處理的引數)。 |
| 傳回 | |
|---|---|
IConfiguration |
已載入的 IConfiguration。委派物件 Option 欄位已填入 args 中的值。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs)
便利方法,會使用 null 第二個引數呼叫 createConfigurationFromArgs(String[],List)。因此,如果還有未使用的引數,就會擲回 ConfigurationException。
| 參數 | |
|---|---|
arrayArgs |
String |
| 傳回 | |
|---|---|
IConfiguration |
|
| 擲回 | |
|---|---|
ConfigurationException |
|
createGlobalConfigurationFromArgs
public IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs, List<String> remainingArgs)
從指令列引數建立 IGlobalConfiguration。
預期格式為「CONFIG [options]」,其中 CONFIG 是內建設定名稱,或是設定 XML 檔案的路徑。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
remainingArgs |
List:這個清單會填入未處理為全域引數的引數 |
| 傳回 | |
|---|---|
IGlobalConfiguration |
已載入的 IGlobalConfiguration。委派物件 Option 欄位已填入 args 中的值。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
createPartialConfigurationFromArgs
public IConfiguration createPartialConfigurationFromArgs (String[] arrayArgs, IKeyStoreClient keyStoreClient, Set<String> allowedObjects, TradefedDelegator delegator)
建立只包含一組所選物件的設定。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
keyStoreClient |
IKeyStoreClient:用於在 args 中取得機密資訊的 IKeyStoreClient。 |
allowedObjects |
Set:允許建立的物件集 |
delegator |
TradefedDelegator |
| 傳回 | |
|---|---|
IConfiguration |
載入的 IConfiguration。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
dumpConfig
public void dumpConfig (String configName,
PrintStream out)將設定內容傾印至指定 PrintStream
| 參數 | |
|---|---|
configName |
String:設定名稱 |
out |
PrintStream:要將輸出內容傾印至的 PrintStream |
getConfigList
public List<String> getConfigList (String subPath,
boolean loadFromEnv)getConfigList() 的變體,可指定是否也要從環境載入設定。
| 參數 | |
|---|---|
subPath |
String:要搜尋設定的子目錄名稱。如果為空值,則行為與 getConfigList() 相同。 |
loadFromEnv |
boolean:如果應載入環境變數中的設定,則為 True。 |
| 傳回 | |
|---|---|
List<String> |
|
getConfigList
public List<String> getConfigList ()
傳回類別路徑中 JAR 內所有設定的名稱清單。 不會嘗試載入任何設定,因此這個清單中可能會有無法運作的設定。
| 傳回 | |
|---|---|
List<String> |
|
getInstance
public static IConfigurationFactory getInstance ()
取得單例模式 IConfigurationFactory 例項。
| 傳回 | |
|---|---|
IConfigurationFactory |
|
loadAllConfigs
public void loadAllConfigs (boolean discardExceptions)
載入類別路徑和測試案例目錄中找到的所有設定。
| 參數 | |
|---|---|
discardExceptions |
boolean:如果應忽略任何 ConfigurationException,則為 true。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
loadAndPrintAllConfigs
public void loadAndPrintAllConfigs ()
公用程式方法,可檢查是否能載入及剖析所有設定,並設定所有選項值。僅公開,以便依附專案驗證其設定。 不應在控制台中公開。
| 擲回 | |
|---|---|
ConfigurationException |
如果無法載入一或多個設定 |
printHelp
public void printHelp (PrintStream out)
列印這個工廠的說明輸出內容。
列印一般說明資訊,並列出所有可用設定。
| 參數 | |
|---|---|
out |
PrintStream:要將輸出內容傾印至的 PrintStream |
printHelpForConfig
public void printHelpForConfig (String[] args,
boolean importantOnly,
PrintStream out)輸出指令列引數中指定的 IConfiguration 說明,
如果「args」是指已知設定,系統會從 XML 建立 IConfiguration 物件,並輸出該 IConfiguration 的說明。請注意,系統會忽略所有其他「args」值 (也就是說,說明文字會說明從 XML 載入的 Option 目前值,不會反映指令列引數設定的選項值)。
如果「args」未參照已知 IConfiguration,系統會顯示一般 printHelp(PrintStream) 說明。
| 參數 | |
|---|---|
args |
String:指令列引數 |
importantOnly |
boolean:如果為 true,請列印簡短的說明清單,只列出重要詳細資料 |
out |
PrintStream:要將輸出內容傾印至的 PrintStream |
受保護的方法
getBundledConfigStream
protected InputStream getBundledConfigStream (String name)
| 參數 | |
|---|---|
name |
String |
| 傳回 | |
|---|---|
InputStream |
|
getConfigPrefix
protected String getConfigPrefix ()
傳回類別路徑上設定 XML 檔案的路徑前置字元
公開,以便單元測試可以模擬。
| 傳回 | |
|---|---|
String |
String結尾包含「/」的路徑 |
getConfigStream
protected BufferedInputStream getConfigStream (String name)
為指定設定名稱載入 InputStream
| 參數 | |
|---|---|
name |
String:要載入的設定名稱 |
| 傳回 | |
|---|---|
BufferedInputStream |
用於讀取設定內容的 BufferedInputStream |
| 擲回 | |
|---|---|
ConfigurationException |
如果找不到設定 |
getConfigurationDef
protected ConfigurationDef getConfigurationDef (String name, boolean isGlobal, Map<String, String> templateMap)
擷取指定名稱的 ConfigurationDef
| 參數 | |
|---|---|
name |
String:要載入的內建設定名稱,或是要載入的設定檔檔案路徑 |
isGlobal |
boolean |
templateMap |
Map |
| 傳回 | |
|---|---|
ConfigurationDef |
ConfigurationDef |
| 擲回 | |
|---|---|
ConfigurationException |
載入設定時發生錯誤 |
getMapConfig
protected Map<ConfigurationFactory.ConfigId, ConfigurationDef> getMapConfig ()
公開測試。傳回 Map 的副本。
| 傳回 | |
|---|---|
Map<ConfigurationFactory.ConfigId, ConfigurationDef> |
|
isDirectConfiguration
protected boolean isDirectConfiguration (String configName)
| 參數 | |
|---|---|
configName |
String |
| 傳回 | |
|---|---|
boolean |
|
reorderArgs
protected String[] reorderArgs (String[] args)
重新排序 args,將 template:map args 全數移至前端。
| 參數 | |
|---|---|
args |
String |
| 傳回 | |
|---|---|
String[] |
|
resolveRemoteFile
protected IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, URI destDir)
| 參數 | |
|---|---|
configURI |
URI |
destDir |
URI |
| 傳回 | |
|---|---|
IRemoteFileResolver.ResolvedFile |
|
| 擲回 | |
|---|---|
BuildRetrievalError |
|