配置工廠

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()的變體 where 可以指定我們是否還想從環境中加載配置。

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)

為給定的配置名稱加載一個 InputStream

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

檢索給定名稱的ConfigurationDef

getMapConfig ()

暴露測試。

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

重新排序 args,以便 template:map args 全部移到前面。

IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, URI destDir)

受保護的構造函數

配置工廠

protected ConfigurationFactory ()

公共方法

clearMapConfig

public void clearMapConfig ()

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

createConfigurationFromArgs

public IConfiguration createConfigurationFromArgs (String[] arrayArgs, 
                 unconsumedArgs)

從命令行參數創建IConfiguration

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

參數
arrayArgs String :命令行參數

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

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

投擲
ConfigurationException

createConfigurationFromArgs

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

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

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

參數
arrayArgs String :命令行參數

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

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

退貨
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 [options]”,其中 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 :一個IKeyStoreClient ,用於獲取 args 中的敏感信息。

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()的變體 where 可以指定我們是否還想從環境中加載配置。

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

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

退貨

獲取配置列表

public  getConfigList ()

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

退貨

獲取實例

public static IConfigurationFactory getInstance ()

獲取單例IConfigurationFactory實例。

退貨
IConfigurationFactory

loadAllConfigs

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)

打印配置幫助

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

獲取配置前綴

protected String getConfigPrefix ()

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

公開以便單元測試可以模擬。

退貨
String帶有尾隨 / 的ERROR(/String)路徑

獲取配置流

protected BufferedInputStream getConfigStream (String name)

為給定的配置名稱加載一個 InputStream

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

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

退貨

isDirectConfiguration

protected boolean isDirectConfiguration (String configName)

參數
configName String

退貨
boolean

重新排序參數

protected String[] reorderArgs (String[] args)

重新排序 args,以便 template:map args 全部移到前面。

參數
args String

退貨
String[]

解析遠程文件

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

參數
configURI URI

destDir URI

退貨
IRemoteFileResolver.ResolvedFile

投擲
BuildRetrievalError