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, List<String> unconsumedArgs, IKeyStoreClient keyStoreClient)
使用密钥库从命令行实参创建 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs, List<String> unconsumedArgs)
根据命令行实参创建 |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs)
一种便捷方法,用于使用 |
IGlobalConfiguration
|
createGlobalConfigurationFromArgs(String[] arrayArgs, List<String> remainingArgs)
根据命令行实参创建 |
IConfiguration
|
createPartialConfigurationFromArgs(String[] arrayArgs, IKeyStoreClient keyStoreClient, Set<String> allowedObjects, TradefedDelegator delegator)
创建仅包含一组所选对象的配置。 |
void
|
dumpConfig(String configName, PrintStream out)
将配置的内容转储到给定的 |
List<String>
|
getConfigList(String subPath, boolean loadFromEnv)
|
List<String>
|
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()
返回 classpath 上配置 XML 文件的路径前缀 公开,以便单元测试可以进行模拟。 |
BufferedInputStream
|
getConfigStream(String name)
加载给定配置名称的 InputStream |
ConfigurationDef
|
getConfigurationDef(String name, boolean isGlobal, Map<String, String> templateMap)
检索指定名称的 |
Map<ConfigurationFactory.ConfigId, ConfigurationDef>
|
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, List<String> unconsumedArgs, IKeyStoreClient keyStoreClient)
使用密钥库从命令行实参创建 IConfiguration。
预期格式为“CONFIG [options]”,其中 CONFIG 是内置配置名称或配置 XML 文件的文件路径。
| 参数 | |
|---|---|
arrayArgs |
String:命令行实参 |
unconsumedArgs |
List:一个列表,其中将填充与指定配置关联的对象未使用的实参。如果此值为 null,则如果仍有未处理的实参,实现将抛出 ConfigurationException。 |
keyStoreClient |
IKeyStoreClient:用于获取实参中的敏感信息的 IKeyStoreClient。 |
| 返回 | |
|---|---|
IConfiguration |
已加载的 IConfiguration。委托对象 Option 字段已填充 args 中的值。 |
| 抛出 | |
|---|---|
ConfigurationException |
|
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs, List<String> unconsumedArgs)
根据命令行实参创建 IConfiguration。
预期格式为“CONFIG [options]”,其中 CONFIG 是内置配置名称或配置 XML 文件的文件路径。
| 参数 | |
|---|---|
arrayArgs |
String:命令行实参 |
unconsumedArgs |
List:一个列表,其中将填充与指定配置关联的对象未使用的实参。如果此值为 null,则如果仍有未处理的实参,实现将抛出 ConfigurationException。 |
| 返回 | |
|---|---|
IConfiguration |
已加载的 IConfiguration。委托对象 Option 字段已填充 args 中的值。 |
| 抛出 | |
|---|---|
ConfigurationException |
|
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs)
一种便捷方法,用于使用 null 实参调用 createConfigurationFromArgs(String[],List)。因此,如果仍有未使用的实参,它会抛出 ConfigurationException。
| 参数 | |
|---|---|
arrayArgs |
String |
| 返回 | |
|---|---|
IConfiguration |
|
| 抛出 | |
|---|---|
ConfigurationException |
|
createGlobalConfigurationFromArgs
public IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs, List<String> remainingArgs)
根据命令行实参创建 IGlobalConfiguration。
预期格式为“CONFIG [options]”,其中 CONFIG 是内置配置名称或配置 XML 文件的文件路径。
| 参数 | |
|---|---|
arrayArgs |
String:命令行实参 |
remainingArgs |
List:一个列表,其中将填充未作为全局实参处理的实参 |
| 返回 | |
|---|---|
IGlobalConfiguration |
已加载的 IGlobalConfiguration。委托对象 Option 字段已填充 args 中的值。 |
| 抛出 | |
|---|---|
ConfigurationException |
|
createPartialConfigurationFromArgs
public IConfiguration createPartialConfigurationFromArgs (String[] arrayArgs, IKeyStoreClient keyStoreClient, Set<String> allowedObjects, TradefedDelegator delegator)
创建仅包含一组所选对象的配置。
| 参数 | |
|---|---|
arrayArgs |
String:命令行实参 |
keyStoreClient |
IKeyStoreClient:用于获取实参中的敏感信息的 IKeyStoreClient。 |
allowedObjects |
Set:允许创建的对象集 |
delegator |
TradefedDelegator |
| 返回 | |
|---|---|
IConfiguration |
已加载的 IConfiguration。 |
| 抛出 | |
|---|---|
ConfigurationException |
|
dumpConfig
public void dumpConfig (String configName,
PrintStream out)将配置的内容转储到给定的 PrintStream
| 参数 | |
|---|---|
configName |
String:配置名称 |
out |
PrintStream:要将输出转储到的 PrintStream |
getConfigList
public List<String> getConfigList (String subPath,
boolean loadFromEnv)getConfigList() 的变体,可用于指定是否还要从环境中加载配置。
| 参数 | |
|---|---|
subPath |
String:要查找配置的子目录的名称。如果为 null,则行为与 getConfigList() 相同。 |
loadFromEnv |
boolean:如果应加载环境变量中的配置,则为 True。 |
| 返回 | |
|---|---|
List<String> |
|
getConfigList
public List<String> getConfigList ()
返回类路径上的 JAR 中找到的所有配置的名称列表。 不尝试加载任何配置,因此此列表中可能包含无法正常运行的配置。
| 返回 | |
|---|---|
List<String> |
|
getInstance
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 |
如果一个或多个配置加载失败 |
printHelp
public void printHelp (PrintStream out)
输出相应工厂的帮助输出。
输出常规帮助信息,并列出所有可用的配置。
| 参数 | |
|---|---|
out |
PrintStream:要将输出转储到的 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:要将输出转储到的 PrintStream |
受保护的方法
getBundledConfigStream
protected InputStream getBundledConfigStream (String name)
| 参数 | |
|---|---|
name |
String |
| 返回 | |
|---|---|
InputStream |
|
getConfigPrefix
protected String getConfigPrefix ()
返回 classpath 上配置 XML 文件的路径前缀
公开,以便单元测试可以进行模拟。
| 返回 | |
|---|---|
String |
String带有尾随 / 的路径 |
getConfigStream
protected BufferedInputStream getConfigStream (String name)
加载给定配置名称的 InputStream
| 参数 | |
|---|---|
name |
String:要加载的配置名称 |
| 返回 | |
|---|---|
BufferedInputStream |
用于读取配置内容的 BufferedInputStream |
| 抛出 | |
|---|---|
ConfigurationException |
如果找不到配置 |
getConfigurationDef
protected ConfigurationDef getConfigurationDef (String name, boolean isGlobal, Map<String, String> templateMap)
检索指定名称的 ConfigurationDef
| 参数 | |
|---|---|
name |
String:要加载的内置配置的名称或要加载的配置文件的文件路径 |
isGlobal |
boolean |
templateMap |
Map |
| 返回 | |
|---|---|
ConfigurationDef |
ConfigurationDef |
| 抛出 | |
|---|---|
ConfigurationException |
如果在加载配置时发生错误 |
getMapConfig
protected Map<ConfigurationFactory.ConfigId, ConfigurationDef> getMapConfig ()
公开以供测试。返回相应 Map 的副本。
| 返回 | |
|---|---|
Map<ConfigurationFactory.ConfigId, ConfigurationDef> |
|
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 |
|