to top
public interface

IConfiguration

com.android.tradefed.config.IConfiguration
Known Indirect Subclasses

Class Overview

Configuration information for a TradeFederation invocation. Each TradeFederation invocation has a single IConfiguration. An IConfiguration stores all the delegate objects that should be used during the invocation, and their associated Option's

Summary

Public Methods
abstract IConfiguration clone()
Create a copy of this object.
abstract void dumpXml(PrintWriter output)
Gets the expanded XML file for the config with all options shown for this IConfiguration as a String.
abstract IBuildProvider getBuildProvider()
Gets the IBuildProvider from the configuration.
abstract String getCommandLine()
Gets the the command line used to create this IConfiguration.
abstract ICommandOptions getCommandOptions()
Gets the ICommandOptions to use from the configuration.
abstract Object getConfigurationObject(String typeName)
Generic interface to get the configuration object with the given type name.
abstract List<?> getConfigurationObjectList(String typeName)
Similar to getConfigurationObject(String), but for configuration object types that support multiple objects.
abstract TestDeviceOptions getDeviceOptions()
Gets the TestDeviceOptions to use from the configuration.
abstract IDeviceRecovery getDeviceRecovery()
Gets the IDeviceRecovery to use from the configuration.
abstract IDeviceSelection getDeviceRequirements()
Gets the IDeviceSelection to use from the configuration.
abstract JSONArray getJsonCommandUsage()
Returns a JSON representation of this configuration.
abstract ILeveledLogOutput getLogOutput()
Gets the ILeveledLogOutput to use from the configuration.
abstract ILogSaver getLogSaver()
Gets the ILogSaver to use from the configuration.
abstract List<ITargetPreparer> getTargetPreparers()
Gets the ITargetPreparers from the configuration.
abstract List<ITestInvocationListener> getTestInvocationListeners()
Gets the ITestInvocationListeners to use from the configuration.
abstract List<IRemoteTest> getTests()
Gets the IRemoteTests to run from the configuration.
abstract void injectOptionValue(String optionName, String optionValue)
Inject a option value into the set of configuration objects.
abstract void injectOptionValue(String optionName, String optionKey, String optionValue)
Inject a option value into the set of configuration objects.
abstract void injectOptionValueWithSource(String optionName, String optionKey, String optionValue, String source)
Inject a option value into the set of configuration objects.
abstract void injectOptionValues(List<ConfigurationDef.OptionDef> optionDefs)
Inject multiple option values into the set of configuration objects.
abstract void printCommandUsage(boolean importantOnly, PrintStream out)
Outputs a command line usage help text for this configuration to given printStream.
abstract void setBuildProvider(IBuildProvider provider)
Replace the current IBuildProvider in the configuration.
abstract void setCommandLine(String[] arrayArgs)
Sets the command line used to create this IConfiguration.
abstract void setCommandOptions(ICommandOptions cmdOptions)
Set the ICommandOptions, replacing any existing values
abstract void setConfigurationObject(String name, Object configObject)
Generic method to set the config object with the given name, replacing any existing value.
abstract void setConfigurationObjectList(String name, List<?> configList)
Generic method to set the config object list for the given name, replacing any existing value.
abstract void setDeviceOptions(TestDeviceOptions deviceOptions)
Set the TestDeviceOptions, replacing any existing values
abstract void setDeviceRecovery(IDeviceRecovery recovery)
Set the IDeviceRecovery, replacing any existing value.
abstract void setDeviceRequirements(IDeviceSelection deviceSelection)
Set the IDeviceSelection, replacing any existing values
abstract void setLogOutput(ILeveledLogOutput logger)
Set the ILeveledLogOutput, replacing any existing value.
abstract void setLogSaver(ILogSaver logSaver)
Set the ILogSaver, replacing any existing value.
abstract List<String> setOptionsFromCommandLineArgs(List<String> listArgs)
Set the config Option fields with given set of command line arguments

abstract void setTargetPreparer(ITargetPreparer preparer)
Set the ITargetPreparer, replacing any existing value.
abstract void setTest(IRemoteTest test)
Convenience method to set a single IRemoteTest in this configuration, replacing any existing values
abstract void setTestInvocationListener(ITestInvocationListener listener)
Convenience method to set a single ITestInvocationListener
abstract void setTestInvocationListeners(List<ITestInvocationListener> listeners)
Set the list of ITestInvocationListeners, replacing any existing values
abstract void setTests(List<IRemoteTest> tests)
Set the list of IRemoteTests in this configuration, replacing any existing values
abstract void validateOptions()
Validate option values.

Public Methods

public abstract IConfiguration clone ()

Create a copy of this object.

Returns
IConfiguration a {link IConfiguration} copy

public abstract void dumpXml (PrintWriter output)

Gets the expanded XML file for the config with all options shown for this IConfiguration as a String.

Parameters
output PrintWriter: the writer to print the xml to.
Throws
IOException

public abstract IBuildProvider getBuildProvider ()

Gets the IBuildProvider from the configuration.

Returns
IBuildProvider the IBuildProvider provided in the configuration

public abstract String getCommandLine ()

Gets the the command line used to create this IConfiguration.

Returns
String the command line used to create this IConfiguration.

public abstract ICommandOptions getCommandOptions ()

Gets the ICommandOptions to use from the configuration.

Returns
ICommandOptions the ICommandOptions provided in the configuration.

public abstract Object getConfigurationObject (String typeName)

Generic interface to get the configuration object with the given type name.

Parameters
typeName String: the unique type of the configuration object
Returns
Object the configuration object or null if the object type with given name does not exist.

public abstract List<?> getConfigurationObjectList (String typeName)

Similar to getConfigurationObject(String), but for configuration object types that support multiple objects.

Parameters
typeName String: the unique type name of the configuration object
Returns
List<?> the list of configuration objects or null if the object type with given name does not exist.

public abstract TestDeviceOptions getDeviceOptions ()

Gets the TestDeviceOptions to use from the configuration.

Returns
TestDeviceOptions the TestDeviceOptions provided in the configuration.

public abstract IDeviceRecovery getDeviceRecovery ()

Gets the IDeviceRecovery to use from the configuration.

Returns
IDeviceRecovery the IDeviceRecovery provided in the configuration.

public abstract IDeviceSelection getDeviceRequirements ()

Gets the IDeviceSelection to use from the configuration.

Returns
IDeviceSelection the IDeviceSelection provided in the configuration.

public abstract JSONArray getJsonCommandUsage ()

Returns a JSON representation of this configuration.

The return value is a JSONArray containing JSONObjects to represent each configuration object. Each configuration object entry has the following structure:

 &#123;
     "alias": "device-unavail-email",
     "name": "result_reporter",
     "class": "com.android.tradefed.result.DeviceUnavailEmailResultReporter",
     "options": [ ... ]
   &#125;
 
 
The "options" entry is a JSONArray containing JSONObjects to represent each @Option annotated field. Each option entry has the following structure:
 &#123;
     "updateRule": "LAST",
     "isTimeVal": false,
     "source": "google\/template\/reporters\/asit",
     "importance": "IF_UNSET",
     "description": "The envelope-sender address to use for the messages.",
     "mandatory": false,
     "name": "sender",
     "javaClass": "java.lang.String",
     "value": "tffail@google.com"
   &#125;
 
 
Most of the values come from the @Option annotation. 'javaClass' is the name of the underlying java class for this option. 'value' is a JSON representation of the field's current value. 'source' is the set of config names which set the field's value. For regular objects or Collections, 'source' is a JSONArray containing each contributing config's name. For map fields, sources for each key are tracked individually and stored in a JSONObject. Each key / value pair in the JSONObject corresponds to a key in the map and an array of its source configurations.

Returns
JSONArray
Throws
JSONException

public abstract ILeveledLogOutput getLogOutput ()

Gets the ILeveledLogOutput to use from the configuration.

Returns
ILeveledLogOutput the ILeveledLogOutput provided in the configuration.

public abstract ILogSaver getLogSaver ()

Gets the ILogSaver to use from the configuration.

Returns
ILogSaver the ILogSaver provided in the configuration.

public abstract List<ITargetPreparer> getTargetPreparers ()

Gets the ITargetPreparers from the configuration.

Returns
List<ITargetPreparer> the ITargetPreparers provided in order in the configuration

public abstract List<ITestInvocationListener> getTestInvocationListeners ()

Gets the ITestInvocationListeners to use from the configuration.

Returns
List<ITestInvocationListener> the ITestInvocationListeners provided in the configuration.

public abstract List<IRemoteTest> getTests ()

Gets the IRemoteTests to run from the configuration.

Returns
List<IRemoteTest> the tests provided in the configuration

public abstract void injectOptionValue (String optionName, String optionValue)

Inject a option value into the set of configuration objects.

Useful to provide values for options that are generated dynamically.

Parameters
optionName String: the option name
optionValue String: the option value
Throws
ConfigurationException if failed to set the option's value

public abstract void injectOptionValue (String optionName, String optionKey, String optionValue)

Inject a option value into the set of configuration objects.

Useful to provide values for options that are generated dynamically.

Parameters
optionName String: the option name
optionKey String: the optional key for map options, or null
optionValue String: the map option value
Throws
ConfigurationException if failed to set the option's value

public abstract void injectOptionValueWithSource (String optionName, String optionKey, String optionValue, String source)

Inject a option value into the set of configuration objects.

Useful to provide values for options that are generated dynamically.

Parameters
optionName String: the option name
optionKey String: the optional key for map options, or null
optionValue String: the map option value
source String
Throws
ConfigurationException if failed to set the option's value

public abstract void injectOptionValues (List<ConfigurationDef.OptionDef> optionDefs)

Inject multiple option values into the set of configuration objects.

Useful to inject many option values at once after creating a new object.

Parameters
optionDefs List: a list of option defs to inject
Throws
ConfigurationException if failed to set option values

public abstract void printCommandUsage (boolean importantOnly, PrintStream out)

Outputs a command line usage help text for this configuration to given printStream.

Parameters
importantOnly boolean: if true only print help for the important options
out PrintStream: the PrintStream to use.
Throws
ConfigurationException

public abstract void setBuildProvider (IBuildProvider provider)

Replace the current IBuildProvider in the configuration.

Parameters
provider IBuildProvider: the new IBuildProvider

public abstract void setCommandLine (String[] arrayArgs)

Sets the command line used to create this IConfiguration. This stores the whole command line, including the configuration name, unlike setOptionsFromCommandLineArgs.

Parameters
arrayArgs String: the command line

public abstract void setCommandOptions (ICommandOptions cmdOptions)

Set the ICommandOptions, replacing any existing values

public abstract void setConfigurationObject (String name, Object configObject)

Generic method to set the config object with the given name, replacing any existing value.

Parameters
name String: the unique name of the config object type.
configObject Object: the config object
Throws
ConfigurationException if the configObject was not the correct type

public abstract void setConfigurationObjectList (String name, List<?> configList)

Generic method to set the config object list for the given name, replacing any existing value.

Parameters
name String: the unique name of the config object type.
configList List: the config object list
Throws
ConfigurationException if any objects in the list are not the correct type

public abstract void setDeviceOptions (TestDeviceOptions deviceOptions)

Set the TestDeviceOptions, replacing any existing values

Parameters
deviceOptions TestDeviceOptions

public abstract void setDeviceRecovery (IDeviceRecovery recovery)

Set the IDeviceRecovery, replacing any existing value.

public abstract void setDeviceRequirements (IDeviceSelection deviceSelection)

Set the IDeviceSelection, replacing any existing values

public abstract void setLogOutput (ILeveledLogOutput logger)

Set the ILeveledLogOutput, replacing any existing value.

public abstract void setLogSaver (ILogSaver logSaver)

Set the ILogSaver, replacing any existing value.

public abstract List<String> setOptionsFromCommandLineArgs (List<String> listArgs)

Set the config Option fields with given set of command line arguments

Parameters
listArgs List: the command line arguments
Returns
List<String> the unconsumed arguments
Throws
ConfigurationException

public abstract void setTargetPreparer (ITargetPreparer preparer)

Set the ITargetPreparer, replacing any existing value.

public abstract void setTest (IRemoteTest test)

Convenience method to set a single IRemoteTest in this configuration, replacing any existing values

public abstract void setTestInvocationListener (ITestInvocationListener listener)

Convenience method to set a single ITestInvocationListener

public abstract void setTestInvocationListeners (List<ITestInvocationListener> listeners)

Set the list of ITestInvocationListeners, replacing any existing values

public abstract void setTests (List<IRemoteTest> tests)

Set the list of IRemoteTests in this configuration, replacing any existing values

public abstract void validateOptions ()

Validate option values.

Currently this will just validate that all mandatory options have been set

Throws
ConfigurationException if config is not valid