ConfigurationFactory
public
class
ConfigurationFactory
extends Object
implements
IConfigurationFactory
java.lang.Object | |
↳ | com.android.tradefed.config.ConfigurationFactory |
Factory for creating IConfiguration
.
Summary
Nested classes | |
---|---|
class |
ConfigurationFactory.ConfigLoader
Implementation of |
Protected constructors | |
---|---|
ConfigurationFactory()
|
Public methods | |
---|---|
void
|
clearMapConfig()
In some particular case, we need to clear the map. |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs,
Create the |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs,
Create the |
IConfiguration
|
createConfigurationFromArgs(String[] arrayArgs)
A convenience method which calls |
IGlobalConfiguration
|
createGlobalConfigurationFromArgs(String[] arrayArgs,
Create a |
IConfiguration
|
createPartialConfigurationFromArgs(String[] arrayArgs, IKeyStoreClient keyStoreClient,
Create a configuration that only contains a set of selected objects. |
void
|
dumpConfig(String configName, PrintStream out)
Dumps the contents of the configuration to the given |
|
getConfigList(String subPath, boolean loadFromEnv)
Variation of |
|
getConfigList()
Return the list of names of all the configs found in the JARs on the classpath. |
static
IConfigurationFactory
|
getInstance()
Get the singleton |
void
|
loadAllConfigs(boolean discardExceptions)
Loads all configurations found in classpath and test cases directories. |
void
|
loadAndPrintAllConfigs()
Utility method that checks that all configs can be loaded, parsed, and all option values set. |
void
|
printHelp(PrintStream out)
Prints help output for this factory. |
void
|
printHelpForConfig(String[] args, boolean importantOnly, PrintStream out)
Prints help output for the IConfiguration object will be created
from XML, and help for that IConfiguration will be outputted.
|
Protected methods | |
---|---|
InputStream
|
getBundledConfigStream(String name)
|
String
|
getConfigPrefix()
Return the path prefix of config xml files on classpath Exposed so unit tests can mock. |
BufferedInputStream
|
getConfigStream(String name)
Loads an InputStream for given config name |
ConfigurationDef
|
getConfigurationDef(String name, boolean isGlobal,
Retrieve the |
|
getMapConfig()
Exposed for testing. |
String[]
|
reorderArgs(String[] args)
Reorder the args so that template:map args are all moved to the front. |
Protected constructors
ConfigurationFactory
protected ConfigurationFactory ()
Public methods
clearMapConfig
public void clearMapConfig ()
In some particular case, we need to clear the map.
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs,unconsumedArgs)
Create the IConfiguration
from command line arguments.
Parameters | |
---|---|
arrayArgs |
String : the command line arguments |
unconsumedArgs |
: a List which will be populated with the arguments that were not
consumed by the Objects associated with the specified config. If this
is null , then the implementation will throw
ConfigurationException if any unprocessed args remain. |
Returns | |
---|---|
IConfiguration |
the loaded IConfiguration . The delegate object Option fields have
been populated with values in args. |
Throws | |
---|---|
ConfigurationException |
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs,unconsumedArgs, IKeyStoreClient keyStoreClient)
Create the IConfiguration
from command line arguments with a key store.
Parameters | |
---|---|
arrayArgs |
String : the command line arguments |
unconsumedArgs |
: a List which will be populated with the arguments that were not
consumed by the Objects associated with the specified config. If this
is null , then the implementation will throw
ConfigurationException if any unprocessed args remain. |
keyStoreClient |
IKeyStoreClient : a IKeyStoreClient which is used to obtain sensitive info in
the args. |
Returns | |
---|---|
IConfiguration |
the loaded IConfiguration . The delegate object Option fields have
been populated with values in args. |
Throws | |
---|---|
ConfigurationException |
createConfigurationFromArgs
public IConfiguration createConfigurationFromArgs (String[] arrayArgs)
A convenience method which calls ERROR(/#createConfigurationFromArgs(String[],List))
with a null
second argument. Thus, it will throw ConfigurationException
if
any unconsumed arguments remain.
Parameters | |
---|---|
arrayArgs |
String |
Returns | |
---|---|
IConfiguration |
Throws | |
---|---|
ConfigurationException |
createGlobalConfigurationFromArgs
public IGlobalConfiguration createGlobalConfigurationFromArgs (String[] arrayArgs,remainingArgs)
Create a IGlobalConfiguration
from command line arguments.
Parameters | |
---|---|
arrayArgs |
String : the command line arguments |
remainingArgs |
: a list which will be populated with the arguments that weren't
processed as global arguments |
Returns | |
---|---|
IGlobalConfiguration |
the loaded IGlobalConfiguration . The delegate object Option fields
have been populated with values in args. |
Throws | |
---|---|
ConfigurationException |
createPartialConfigurationFromArgs
public IConfiguration createPartialConfigurationFromArgs (String[] arrayArgs, IKeyStoreClient keyStoreClient,allowedObjects)
Create a configuration that only contains a set of selected objects.
Parameters | |
---|---|
arrayArgs |
String : The command line arguments |
keyStoreClient |
IKeyStoreClient : A IKeyStoreClient which is used to obtain sensitive info in the
args. |
allowedObjects |
: The set of allowed objects to be created |
Returns | |
---|---|
IConfiguration |
The loaded IConfiguration . |
Throws | |
---|---|
ConfigurationException |
dumpConfig
public void dumpConfig (String configName, PrintStream out)
Dumps the contents of the configuration to the given ERROR(/PrintStream)
Parameters | |
---|---|
configName |
String : the configuration name |
out |
PrintStream : the ERROR(/PrintStream) to dump output to
|
getConfigList
publicgetConfigList (String subPath, boolean loadFromEnv)
Variation of getConfigList()
where can specify whether or not we also want to load
the configuration from the environment.
Parameters | |
---|---|
subPath |
String : name of the sub-directories to look in for configuration. If null, will have
the same behavior as getConfigList() . |
loadFromEnv |
boolean : True if we should load the configuration in the environment variable.
|
Returns | |
---|---|
|
getConfigList
publicgetConfigList ()
Return the list of names of all the configs found in the JARs on the classpath. Does not attempt to load any of the configs, so it is possible to have non working config in this list.
Returns | |
---|---|
|
getInstance
public static IConfigurationFactory getInstance ()
Get the singleton IConfigurationFactory
instance.
Returns | |
---|---|
IConfigurationFactory |
loadAllConfigs
public void loadAllConfigs (boolean discardExceptions)
Loads all configurations found in classpath and test cases directories.
Parameters | |
---|---|
discardExceptions |
boolean : true if any ConfigurationException should be ignored. |
Throws | |
---|---|
ConfigurationException |
loadAndPrintAllConfigs
public void loadAndPrintAllConfigs ()
Utility method that checks that all configs can be loaded, parsed, and all option values set. Only exposed so that depending project can validate their configs. Should not be exposed in the console.
Throws | |
---|---|
ConfigurationException |
if one or more configs failed to load |
printHelp
public void printHelp (PrintStream out)
Prints help output for this factory.
Prints a generic help info, and lists all available configurations.Parameters | |
---|---|
out |
PrintStream : the ERROR(/PrintStream) to dump output to
|
printHelpForConfig
public void printHelpForConfig (String[] args, boolean importantOnly, PrintStream out)
Prints help output for the IConfiguration
specified in command line arguments,
IConfiguration
object will be created
from XML, and help for that IConfiguration
will be outputted. Note all other 'args'
values will be ignored (ie the help text will describe the current values of Option
s
as loaded from XML, and will not reflect option's values set by the command line args.
If 'args' does not reference a known IConfiguration
, the generic
printHelp(PrintStream)
help will be displayed.
Parameters | |
---|---|
args |
String : the command line arguments |
importantOnly |
boolean : if true , print an abbreviated help listing only the
important details |
out |
PrintStream : the ERROR(/PrintStream) to dump output to
|
Protected methods
getBundledConfigStream
protected InputStream getBundledConfigStream (String name)
Parameters | |
---|---|
name |
String |
Returns | |
---|---|
InputStream |
getConfigPrefix
protected String getConfigPrefix ()
Return the path prefix of config xml files on classpath
Exposed so unit tests can mock.
Returns | |
---|---|
String |
String path with trailing /
|
getConfigStream
protected BufferedInputStream getConfigStream (String name)
Loads an InputStream for given config name
Parameters | |
---|---|
name |
String : the configuration name to load |
Returns | |
---|---|
BufferedInputStream |
a ERROR(/BufferedInputStream) for reading config contents |
Throws | |
---|---|
ConfigurationException |
if config could not be found |
getConfigurationDef
protected ConfigurationDef getConfigurationDef (String name, boolean isGlobal,templateMap)
Retrieve the ConfigurationDef
for the given name
Parameters | |
---|---|
name |
String : the name of a built-in configuration to load or a file path to configuration file
to load |
isGlobal |
boolean |
templateMap |
|
Returns | |
---|---|
ConfigurationDef |
ConfigurationDef |
Throws | |
---|---|
ConfigurationException |
if an error occurred loading the config |
getMapConfig
protectedgetMapConfig ()
Exposed for testing. Return a copy of the Map.
Returns | |
---|---|
|
reorderArgs
protected String[] reorderArgs (String[] args)
Reorder the args so that template:map args are all moved to the front.
Parameters | |
---|---|
args |
String |
Returns | |
---|---|
String[] |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2022-08-03 UTC.