配置工厂

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