配置工廠

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