設定工廠
public
class
ConfigurationFactory
extends Object
implements
IConfigurationFactory
java.lang.Object | |
↳ | com.android.tradefed.config.ConfigurationFactory |
用於建立 IConfiguration
的工廠。
摘要
巢狀類別 | |
---|---|
class |
ConfigurationFactory.ConfigLoader
實作 IConfigDefLoader,從 根設定,然後在循環 include 上擲回例外狀況。 |
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)
載入在類別路徑和測試案例目錄中找到的所有設定。 |
void
|
loadAndPrintAllConfigs()
檢查是否可載入、剖析所有設定,以及設定所有選項值的實用程式方法。 |
void
|
printHelp(PrintStream out)
列印此工廠的說明輸出內容。 |
void
|
printHelpForConfig(String[] args, boolean importantOnly, PrintStream out)
針對指令列引數中指定的
如果「args」代表已知的設定,系統會建立 |
保護方法 | |
---|---|
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)
重新排序引數,將 templates:map args 全數移至最前方。 |
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 為內建設定名稱或 設定檔路徑
參數 | |
---|---|
arrayArgs |
String :指令列引數 |
unconsumedArgs |
:要填入非引數的清單
所消耗的物件。如果這是
null ,則實作將會擲回
ConfigurationException 表示有任何未處理的引數。 |
keyStoreClient |
IKeyStoreClient :用於在 args 中取得機密資訊的 IKeyStoreClient 。 |
傳回 | |
---|---|
IConfiguration |
載入的 IConfiguration 。委派物件 Option 欄位已填入 args 中的值。 |
擲回 | |
---|---|
ConfigurationException |
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs)
呼叫 ERROR(/#createConfigurationFromArgs(String[],List))
的便利方法
呼叫 null
秒即可啟動函式因此,如果仍有未使用的引數,就會擲回 ConfigurationException
。
參數 | |
---|---|
arrayArgs |
String |
傳回 | |
---|---|
IConfiguration |
擲回 | |
---|---|
ConfigurationException |
createGlobalConfigurationFromArgs
public IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs,remainingArgs)
從指令列引數建立 IGlobalConfiguration
。
預期格式為「設定 [選項]」,其中 CONFIG 為內建設定名稱或 設定檔路徑
參數 | |
---|---|
arrayArgs |
String :指令列引數 |
remainingArgs |
:要填入未定義引數的清單
視為全域引數 |
傳回 | |
---|---|
IGlobalConfiguration |
已載入的 IGlobalConfiguration 。委派物件 Option 欄位
而是填入 args 的值。 |
擲回 | |
---|---|
ConfigurationException |
createPartialConfigurationFromArgs
public IConfiguration createPartialConfigurationFromArgs (String[] arrayArgs, IKeyStoreClient keyStoreClient,allowedObjects, TradefedDelegator delegator)
建立僅包含一組所選物件的設定。
參數 | |
---|---|
arrayArgs |
String :指令列引數 |
keyStoreClient |
IKeyStoreClient :IKeyStoreClient ,用於取得
引數。 |
allowedObjects |
:允許建立的物件集 |
delegator |
TradefedDelegator |
傳回 | |
---|---|
IConfiguration |
已載入的 IConfiguration 。 |
擲回 | |
---|---|
ConfigurationException |
轉儲設定
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 :如果我們要在環境變數中載入設定,則為「是」。 |
傳回 | |
---|---|
|
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」代表已知的設定,系統會建立 IConfiguration
物件
並輸出 IConfiguration
的說明注意所有其他的「args」
值將被忽略 (也就是說,說明文字將描述 Option
s 目前的值
從 XML 載入,不會反映指令列引數所設定的選項值。
如果「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 ()
傳回類別路徑中 config 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 |
重新排序 Args
protected String[] reorderArgs (String[] args)
重新排序引數,將 template:map 引數全部移至前面。
參數 | |
---|---|
args |
String |
傳回 | |
---|---|
String[] |
helpRemoteFile
protected IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, URI destDir)
參數 | |
---|---|
configURI |
URI |
destDir |
URI |
傳回 | |
---|---|
IRemoteFileResolver.ResolvedFile |
擲回 | |
---|---|
BuildRetrievalError |