設定工廠

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)

呼叫 ERROR(/#createConfigurationFromArgs(String[],List)) 的便利方法 呼叫 null 秒即可啟動函式

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()

傳回在類別路徑的 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()

傳回類別路徑中 config 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)

受保護的建構函式

設定工廠

protected ConfigurationFactory ()

公用方法

ClearMapConfig

public void clearMapConfig ()

在特殊情況下,我們必須清除地圖。

createConfigurationFromArgs

public IConfiguration createConfigurationFromArgs (String[] arrayArgs, 
                 unconsumedArgs)

透過指令列引數建立 IConfiguration

預期格式為「設定 [選項]」,其中 CONFIG 為內建設定名稱或 設定檔路徑

參數
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 IKeyStoreClientIKeyStoreClient,用於取得機密資訊 引數

傳回
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 ()

傳回在類別路徑的 JAR 中找到的所有設定名稱清單。 不會嘗試載入任何設定,因此可能會在設定期間失效 。

傳回

getInstance

public static IConfigurationFactory getInstance ()

取得單例模式 IConfigurationFactory 執行個體。

傳回
IConfigurationFactory

loadAllConfig

public void loadAllConfigs (boolean discardExceptions)

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

參數
discardExceptions boolean:如果任何 ConfigurationException 應忽略,則為 true。

擲回
com.android.tradefed.config.ConfigurationException
ConfigurationException

loadAndPrintAllConfigs

public void loadAndPrintAllConfigs ()

檢查所有設定是否都可以載入、剖析 已設定所有選項值。 僅公開,以便取決於專案驗證設定。 不應在控制台中公開。

擲回
ConfigurationException 無法載入一或多項設定

列印說明

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)

重新排序引數,將 templates:map args 全數移至最前方。

參數
args String

傳回
String[]

helpRemoteFile

protected IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, 
                URI destDir)

參數
configURI URI

destDir URI

傳回
IRemoteFileResolver.ResolvedFile

擲回
BuildRetrievalError