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,
透過指令列引數建立 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs,
使用金鑰存放區,透過指令列引數建立 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs)
便利方法,會使用 |
IGlobalConfiguration
|
createGlobalConfigurationFromArgs(String[] arrayArgs,
透過指令列引數建立 |
IConfiguration
|
createPartialConfigurationFromArgs(String[] arrayArgs, IKeyStoreClient keyStoreClient,
建立只包含一組所選物件的設定。 |
void
|
dumpConfig(String configName, PrintStream out)
將設定內容轉存至指定的 |
|
getConfigList(String subPath, boolean loadFromEnv)
|
|
getConfigList()
傳回 classpath 中 JAR 所找到的所有設定名稱清單。 |
static
IConfigurationFactory
|
getInstance()
取得單例模式 |
void
|
loadAllConfigs(boolean discardExceptions)
載入 classpath 和測試案例目錄中找到的所有設定。 |
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)
為指定的設定名稱載入 InputStream |
ConfigurationDef
|
getConfigurationDef(String name, boolean isGlobal,
擷取指定名稱的 |
|
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,unconsumedArgs)
透過指令列引數建立 IConfiguration。
預期格式為「CONFIG [選項]」,其中 CONFIG 是內建設定名稱或設定 XML 檔案的檔案路徑。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
unconsumedArgs |
:清單,會填入與指定設定相關聯的物件未使用到的引數。如果是 null,則如果有任何未處理的引數,實作會擲回 ConfigurationException。 |
| 傳回 | |
|---|---|
IConfiguration |
已載入的 IConfiguration。委派物件 Option 欄位已填入 args 中的值。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs,unconsumedArgs, IKeyStoreClient keyStoreClient)
使用金鑰庫,從指令列引數建立 IConfiguration。
預期格式為「CONFIG [選項]」,其中 CONFIG 是內建設定名稱或設定 XML 檔案的檔案路徑。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
unconsumedArgs |
:清單,會填入與指定設定相關聯的物件未使用到的引數。如果是 null,則如果有任何未處理的引數,實作會擲回 ConfigurationException。 |
keyStoreClient |
IKeyStoreClient:用於在 args 中取得機密資訊的 IKeyStoreClient。 |
| 傳回 | |
|---|---|
IConfiguration |
已載入的 IConfiguration。委派物件 Option 欄位已填入 args 中的值。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs)
便利方法,會使用 null 的第二個引數呼叫 ERROR(/#createConfigurationFromArgs(String[],List))。因此,如果仍有未使用的引數,就會擲回 ConfigurationException。
| 參數 | |
|---|---|
arrayArgs |
String |
| 傳回 | |
|---|---|
IConfiguration |
|
| 擲回 | |
|---|---|
ConfigurationException |
|
createGlobalConfigurationFromArgs
public IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs,remainingArgs)
從指令列引數建立 IGlobalConfiguration。
預期格式為「CONFIG [選項]」,其中 CONFIG 是內建設定名稱或設定 XML 檔案的檔案路徑。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
remainingArgs |
:這個清單會填入未以全局引數處理的引數 |
| 傳回 | |
|---|---|
IGlobalConfiguration |
已載入的 IGlobalConfiguration。委派物件 Option 欄位已填入 args 中的值。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
createPartialConfigurationFromArgs
public IConfiguration createPartialConfigurationFromArgs (String[] arrayArgs, IKeyStoreClient keyStoreClient,allowedObjects, TradefedDelegator delegator)
建立只包含一組所選物件的設定。
| 參數 | |
|---|---|
arrayArgs |
String:指令列引數 |
keyStoreClient |
IKeyStoreClient:用於在 args 中取得機密資訊的 IKeyStoreClient。 |
allowedObjects |
:允許建立的物件集 |
delegator |
TradefedDelegator |
| 傳回 | |
|---|---|
IConfiguration |
已載入的 IConfiguration。 |
| 擲回 | |
|---|---|
ConfigurationException |
|
dumpConfig
public void dumpConfig (String configName,
PrintStream out)將設定內容轉存至指定的 ERROR(/PrintStream)
| 參數 | |
|---|---|
configName |
String:設定名稱 |
out |
PrintStream:要將輸出內容傾印至其中的 ERROR(/PrintStream) |
getConfigList
publicgetConfigList (String subPath, boolean loadFromEnv)
getConfigList() 的變化版本,可用於指定是否也要從環境載入設定。
| 參數 | |
|---|---|
subPath |
String:要查詢設定的子目錄名稱。如果為空值,則會與 getConfigList() 的行為相同。 |
loadFromEnv |
boolean:如果應在環境變數中載入設定,則為 True。 |
| 傳回 | |
|---|---|
|
|
getConfigList
publicgetConfigList ()
傳回 classpath 中 JAR 檔案中找到的所有設定名稱清單。不會嘗試載入任何設定,因此清單中可能會有無法運作的設定。
| 傳回 | |
|---|---|
|
|
getInstance
public static IConfigurationFactory getInstance ()
取得單例模式 IConfigurationFactory 例項。
| 傳回 | |
|---|---|
IConfigurationFactory |
|
loadAllConfigs
public void loadAllConfigs (boolean discardExceptions)
載入 classpath 和測試案例目錄中找到的所有設定。
| 參數 | |
|---|---|
discardExceptions |
boolean:如果應忽略任何 ConfigurationException,則為 true。 |
| 擲回 | |
|---|---|
|
com.android.tradefed.config.ConfigurationException |
ConfigurationException |
|
loadAndPrintAllConfigs
public void loadAndPrintAllConfigs ()
檢查是否可載入、剖析及設定所有設定檔的實用程式方法。只會公開,讓依附專案驗證其設定。不應在控制台中顯示。
| 擲回 | |
|---|---|
ConfigurationException |
一或多個設定無法載入 |
printHelp
public void printHelp (PrintStream out)
列印此工廠的說明輸出內容。
列印一般說明資訊,並列出所有可用的設定。
| 參數 | |
|---|---|
out |
PrintStream:要將輸出內容傾印至其中的 ERROR(/PrintStream) |
printHelpForConfig
public void printHelpForConfig (String[] args,
boolean importantOnly,
PrintStream out)針對指令列引數中指定的 IConfiguration,列印說明輸出內容。
如果「args」是指已知的設定,系統會從 XML 建立 IConfiguration 物件,並輸出該 IConfiguration 的說明。請注意,系統會忽略所有其他「args」值 (也就是說明文字會說明從 XML 載入的 Option 目前值,而不會反映指令列 args 設定的選項值)。
如果「args」未參照已知的 IConfiguration,系統會顯示通用的 printHelp(PrintStream) 說明。
| 參數 | |
|---|---|
args |
String:指令列引數 |
importantOnly |
boolean:如果為 true,則列印簡短的說明,只列出重要詳細資料 |
out |
PrintStream:要將輸出內容傾印至其中的 ERROR(/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 |
用於讀取設定內容的 ERROR(/BufferedInputStream) |
| 擲回 | |
|---|---|
ConfigurationException |
如果找不到設定 |
getConfigurationDef
protected ConfigurationDef getConfigurationDef (String name, boolean isGlobal,templateMap)
擷取指定名稱的 ConfigurationDef
| 參數 | |
|---|---|
name |
String:要載入的內建設定名稱,或要載入的設定檔案路徑 |
isGlobal |
boolean |
templateMap |
|
| 傳回 | |
|---|---|
ConfigurationDef |
ConfigurationDef |
| 擲回 | |
|---|---|
ConfigurationException |
載入設定時發生錯誤 |
getMapConfig
protectedgetMapConfig ()
已公開供測試。傳回地圖的副本。
| 傳回 | |
|---|---|
|
|
isDirectConfiguration
protected boolean isDirectConfiguration (String configName)
| 參數 | |
|---|---|
configName |
String |
| 傳回 | |
|---|---|
boolean |
|
reorderArgs
protected String[] reorderArgs (String[] args)
重新排序引數,將 template:map 引數全部移至前面。
| 參數 | |
|---|---|
args |
String |
| 傳回 | |
|---|---|
String[] |
|
resolveRemoteFile
protected IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, URI destDir)
| 參數 | |
|---|---|
configURI |
URI |
destDir |
URI |
| 傳回 | |
|---|---|
IRemoteFileResolver.ResolvedFile |
|
| 擲回 | |
|---|---|
BuildRetrievalError |
|