ConfigurationFactory
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,
通过命令行参数创建 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs,
使用密钥库从命令行参数创建 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs)
一种便捷方法,用于使用 |
IGlobalConfiguration
|
createGlobalConfigurationFromArgs(String[] arrayArgs,
使用命令行参数创建 |
IConfiguration
|
createPartialConfigurationFromArgs(String[] arrayArgs, IKeyStoreClient keyStoreClient,
创建一个仅包含一组所选对象的配置。 |
void
|
dumpConfig(String configName, PrintStream out)
将配置内容转储到给定的 |
|
getConfigList(String subPath, boolean loadFromEnv)
|
|
getConfigList()
返回在类路径上的 JAR 中找到的所有配置的名称列表。 |
static
IConfigurationFactory
|
getInstance()
获取单例 |
void
|
loadAllConfigs(boolean discardExceptions)
加载在类路径和测试用例目录中找到的所有配置。 |
void
|
loadAndPrintAllConfigs()
一种实用程序方法,用于检查是否能够加载、解析和 所有选项值设置。 |
void
|
printHelp(PrintStream out)
输出此工厂的帮助输出。 |
void
|
printHelpForConfig(String[] args, boolean importantOnly, PrintStream out)
输出命令行参数中指定的
如果“args”引用已知配置,系统会根据 XML 创建 |
受保护的方法 | |
---|---|
InputStream
|
getBundledConfigStream(String name)
|
String
|
getConfigPrefix()
返回类路径上配置 xml 文件的路径前缀 公开,以便单元测试可以模拟。 |
BufferedInputStream
|
getConfigStream(String name)
加载给定配置名称的 InputStream |
ConfigurationDef
|
getConfigurationDef(String name, boolean isGlobal,
检索给定名称的 |
|
getMapConfig()
可供测试。 |
boolean
|
isDirectConfiguration(String configName)
|
String[]
|
reorderArgs(String[] args)
重新排列参数,将 template:map 参数全部移至前面。 |
IRemoteFileResolver.ResolvedFile
|
resolveRemoteFile(URI configURI, URI destDir)
|
受保护的构造函数
ConfigurationFactory
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 是内置配置名称或 指向配置 XML 文件的文件路径。
参数 | |
---|---|
arrayArgs |
String :命令行参数 |
unconsumedArgs |
:一个列表,用于填充非
与指定配置关联的对象所消耗的电量。如果
为 null ,则实现将抛出
如果仍然存在任何未处理的参数,则返回 ConfigurationException 。 |
keyStoreClient |
IKeyStoreClient :一个 IKeyStoreClient ,用于获取参数中的敏感信息。 |
返回 | |
---|---|
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 ,用于获取
参数 |
allowedObjects |
:允许创建的一组对象 |
delegator |
TradefedDelegator |
返回 | |
---|---|
IConfiguration |
已加载的 IConfiguration 。 |
抛出 | |
---|---|
ConfigurationException |
dumpConfig
public void dumpConfig (String configName, PrintStream out)
将配置内容转储到给定的 ERROR(/PrintStream)
参数 | |
---|---|
configName |
String :配置名称 |
out |
PrintStream :要将输出转储到的 ERROR(/PrintStream) |
getConfigList
publicgetConfigList (String subPath, boolean loadFromEnv)
getConfigList()
的变体,用于指定我们是否还想从环境中加载配置。
参数 | |
---|---|
subPath |
String :要查找其配置的子目录的名称。如果为 null,
行为与 getConfigList() 相同。 |
loadFromEnv |
boolean :如果应在环境变量中加载配置,则为 true。 |
返回 | |
---|---|
|
getConfigList
publicgetConfigList ()
返回在类路径的 JAR 中找到的所有配置的名称列表。 不会尝试加载任何配置,因此此列表中可能会包含无法正常运行的配置。
返回 | |
---|---|
|
getInstance
public static IConfigurationFactory getInstance ()
获取单例 IConfigurationFactory
实例。
返回 | |
---|---|
IConfigurationFactory |
加载所有配置
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”引用已知配置,系统会根据 XML 创建 IConfiguration
对象,并输出该 IConfiguration
的帮助。请注意,所有其他“args”值都将被忽略(即帮助文本将描述从 XML 加载的 Option
的当前值,而不会反映命令行参数设置的选项值。
如果为“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 ()
返回类路径中配置 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
protectedgetMapConfig ()
公开以供测试。返回 Map 的副本。
返回 | |
---|---|
|
isDirectConfiguration
protected boolean isDirectConfiguration (String configName)
参数 | |
---|---|
configName |
String |
返回 | |
---|---|
boolean |
reorderArgs
protected String[] reorderArgs (String[] args)
重新排列参数,将 template:map 参数全部移到前面。
参数 | |
---|---|
args |
String |
返回 | |
---|---|
String[] |
resolveRemoteFile 类中的方法
protected IRemoteFileResolver.ResolvedFile resolveRemoteFile (URI configURI, URI destDir)
参数 | |
---|---|
configURI |
URI |
destDir |
URI |
返回 | |
---|---|
IRemoteFileResolver.ResolvedFile |
抛出 | |
---|---|
BuildRetrievalError |