配置工廠

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, unconsumedArgs) createConfigurationFromArgs (String[] arrayArgs, unconsumedArgs)

從命令行參數創建IConfiguration

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

使用密鑰存儲從命令行參數創建IConfiguration

IConfiguration createConfigurationFromArgs (String[] arrayArgs)

一種使用第二個參數為null來調用ERROR(/#createConfigurationFromArgs(String[],List))便捷方法。

IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs, remainingArgs) createGlobalConfigurationFromArgs (String[] arrayArgs, remainingArgs)

從命令行參數創建IGlobalConfiguration

IConfiguration createPartialConfigurationFromArgs (String[] arrayArgs, IKeyStoreClient keyStoreClient, allowedObjects, TradefedDelegator delegator) 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”引用已知配置,則將從 XML 創建IConfiguration對象,並輸出該IConfiguration的幫助。

受保護的方法

InputStream getBundledConfigStream (String name)
String getConfigPrefix ()

返回類路徑上配置 xml 文件的路徑前綴

暴露出來以便單元測試可以模擬。

BufferedInputStream getConfigStream (String name)

加載給定配置名稱的輸入流

ConfigurationDef getConfigurationDef (String name, boolean isGlobal, templateMap) getConfigurationDef (String name, boolean isGlobal, templateMap)

檢索給定名稱的ConfigurationDef

getMapConfig ()

暴露進行測試。

boolean isDirectConfiguration (String configName)
String[] reorderArgs (String[] args)

重新排序參數,使 template:map 參數全部移到前面。

IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, URI destDir)

受保護的構造函數

配置工廠

protected ConfigurationFactory ()

公共方法

清除地圖配置

public void clearMapConfig ()

在某些特殊情況下,我們需要清除地圖。

從參數創建配置

public IConfiguration createConfigurationFromArgs (String[] arrayArgs, 
                 unconsumedArgs)

從命令行參數創建IConfiguration

預期格式為“CONFIG [選項]”,其中 CONFIG 是內置配置名稱或配置 xml 文件的文件路徑。

參數
arrayArgs String : 命令行參數

unconsumedArgs :一個列表,將填充與指定配置關聯的對象未使用的參數。如果這是null ,那麼如果仍有任何未處理的參數,實現將拋出ConfigurationException

退貨
IConfiguration加載的IConfiguration 。委託對象Option字段已填充有 args 中的值。

投擲
ConfigurationException

從參數創建配置

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

使用密鑰存儲從命令行參數創建IConfiguration

預期格式為“CONFIG [選項]”,其中 CONFIG 是內置配置名稱或配置 xml 文件的文件路徑。

參數
arrayArgs String : 命令行參數

unconsumedArgs :一個列表,將填充與指定配置關聯的對象未使用的參數。如果這是null ,那麼如果仍有任何未處理的參數,實現將拋出ConfigurationException

keyStoreClient IKeyStoreClient :一個IKeyStoreClient ,用於獲取參數中的敏感信息。

退貨
IConfiguration加載的IConfiguration 。委託對象Option字段已填充有 args 中的值。

投擲
ConfigurationException

從參數創建配置

public IConfiguration createConfigurationFromArgs (String[] arrayArgs)

一種使用第二個參數為null來調用ERROR(/#createConfigurationFromArgs(String[],List))便捷方法。因此,如果還有任何未使用的參數,它將拋出ConfigurationException

參數
arrayArgs String

退貨
IConfiguration

投擲
ConfigurationException

從參數創建全局配置

public IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs, 
                 remainingArgs)

從命令行參數創建IGlobalConfiguration

預期格式為“CONFIG [選項]”,其中 CONFIG 是內置配置名稱或配置 xml 文件的文件路徑。

參數
arrayArgs String : 命令行參數

remainingArgs :一個列表,其中將填充未作為全局參數處理的參數

退貨
IGlobalConfiguration加載的IGlobalConfiguration 。委託對象Option字段已填充有 args 中的值。

投擲
ConfigurationException

從參數創建部分配置

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)

獲取配置列表

public  getConfigList (String subPath, 
                boolean loadFromEnv)

getConfigList()的變體可以指定我們是否也想從環境中加載配置。

參數
subPath String :要查找配置的子目錄的名稱。如果為 null,將具有與getConfigList()相同的行為。

loadFromEnv boolean :如果我們應該在環境變量中加載配置,則為 True。

退貨

獲取配置列表

public  getConfigList ()

返回在類路徑上的 JAR 中找到的所有配置的名稱列表。不嘗試加載任何配置,因此此列表中可能有非工作配置。

退貨

獲取實例

public static IConfigurationFactory getInstance ()

獲取單例IConfigurationFactory實例。

退貨
IConfigurationFactory

加載所有配置

public void loadAllConfigs (boolean discardExceptions)

加載類路徑和測試用例目錄中找到的所有配置。

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

投擲
com.android.tradefed.config.ConfigurationException
ConfigurationException

加載並打印所有配置

public void loadAndPrintAllConfigs ()

檢查是否可以加載、解析所有配置以及設置所有選項值的實用程序方法。僅公開以便相關項目可以驗證其配置。不應暴露在控制台中。

投擲
ConfigurationException如果一個或多個配置加載失敗

打印幫助

public void printHelp (PrintStream out)

打印該工廠的幫助輸出。

打印通用幫助信息,並列出所有可用的配置。

參數
out PrintStream :將輸出轉儲到的ERROR(/PrintStream)

打印幫助配置

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 :將輸出轉儲到的ERROR(/PrintStream)

受保護的方法

獲取BundledConfigStream

protected InputStream getBundledConfigStream (String name)

參數
name String

退貨
InputStream

獲取配置前綴

protected String getConfigPrefix ()

返回類路徑上配置 xml 文件的路徑前綴

暴露出來以便單元測試可以模擬。

退貨
String尾隨 / 的String路徑

獲取配置流

protected BufferedInputStream getConfigStream (String name)

加載給定配置名稱的輸入流

參數
name String : 要加載的配置名稱

退貨
BufferedInputStream讀取配置內容時ERROR(/BufferedInputStream)

投擲
ConfigurationException如果找不到配置

獲取配置定義

protected ConfigurationDef getConfigurationDef (String name, 
                boolean isGlobal, 
                 templateMap)

檢索給定名稱的ConfigurationDef

參數
name String :要加載的內置配置的名稱或要加載的配置文件的文件路徑

isGlobal boolean

templateMap

退貨
ConfigurationDef ConfigurationDef

投擲
ConfigurationException如果加載配置時發生錯誤

獲取地圖配置

protected  getMapConfig ()

暴露進行測試。返回地圖的副本。

退貨

是直接配置

protected boolean isDirectConfiguration (String configName)

參數
configName String

退貨
boolean

重新排序參數

protected String[] reorderArgs (String[] args)

重新排序參數,使 template:map 參數全部移到前面。

參數
args String

退貨
String[]

解析遠程文件

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

參數
configURI URI

destDir URI

退貨
IRemoteFileResolver.ResolvedFile

投擲
BuildRetrievalError