設定工廠

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, unconsumedArgs)

透過指令列引數建立 IConfiguration

IConfiguration createConfigurationFromArgs(String[] arrayArgs, unconsumedArgs, IKeyStoreClient keyStoreClient)

使用金鑰存放區,從指令列引數建立 IConfiguration

IConfiguration createConfigurationFromArgs(String[] arrayArgs)

便利方法,會使用 null 的第二個引數呼叫 ERROR(/#createConfigurationFromArgs(String[],List))

IGlobalConfiguration createGlobalConfigurationFromArgs(String[] arrayArgs, remainingArgs)

透過指令列引數建立 IGlobalConfiguration

IConfiguration createPartialConfigurationFromArgs(String[] arrayArgs, IKeyStoreClient keyStoreClient, allowedObjects, TradefedDelegator delegator)

建立僅包含一組所選物件的設定。

void dumpConfig(String configName, PrintStream out)

將設定內容轉存至指定的 ERROR(/PrintStream)

getConfigList(String subPath, boolean loadFromEnv)

getConfigList() 的變化,用於指定是否要一併載入 從環境複製設定

getConfigList()

傳回 classpath 中 JAR 所找到的所有設定名稱清單。

static IConfigurationFactory getInstance()

取得單例模式 IConfigurationFactory 例項。

void loadAllConfigs(boolean discardExceptions)

載入在類別路徑和測試案例目錄中找到的所有設定。

void loadAndPrintAllConfigs()

檢查是否可載入、剖析所有設定,以及設定所有選項值的實用程式方法。

void printHelp(PrintStream out)

列印此工廠的說明輸出內容。

void printHelpForConfig(String[] args, boolean importantOnly, PrintStream out)

針對指令列引數中指定的 IConfiguration,列印說明輸出內容。

如果「args」代表已知的設定,系統會建立 IConfiguration 物件 並輸出 IConfiguration 的說明

保護方法

InputStream getBundledConfigStream(String name)
String getConfigPrefix()

在類別路徑上傳回設定 XML 檔案的路徑前置字串

公開,以便單元測試進行模擬。

BufferedInputStream getConfigStream(String name)

為指定的設定名稱載入 InputStream

ConfigurationDef getConfigurationDef(String name, boolean isGlobal, templateMap)

擷取指定名稱的 ConfigurationDef

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 IKeyStoreClientIKeyStoreClient,用於取得 引數。

allowedObjects :允許建立的物件集

delegator TradefedDelegator

傳回
IConfiguration 已載入的 IConfiguration

擲回
ConfigurationException

轉儲設定

public void dumpConfig (String configName, 
                PrintStream out)

將設定內容傾印至指定的 ERROR(/PrintStream)

參數
configName String:設定名稱

out PrintStream:指定要將輸出內容轉儲到哪個 ERROR(/PrintStream)

getConfigList

public  getConfigList (String subPath, 
                boolean loadFromEnv)

getConfigList() 的變化版本,可用於指定是否也要從環境載入設定。

參數
subPath String:要查詢設定的子目錄名稱。若為空值,將會有 行為與 getConfigList() 相同

loadFromEnv boolean:如果我們要在環境變數中載入設定,則為「是」。

傳回

getConfigList

public  getConfigList ()

傳回 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」 值將被忽略 (也就是說,說明文字將描述 Options 目前的值 從 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

protected  getMapConfig ()

公開測試。傳回地圖的副本。

傳回

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