@AutoService(value=Configurer.class) public class ConfigConfigurer extends Object implements Configurer<Config>
Provides configuration to Robolectric for its @
Config
annotation.
Modifier | Constructor and Description |
---|---|
protected |
ConfigConfigurer(PackagePropertiesLoader packagePropertiesLoader) |
|
ConfigConfigurer(PackagePropertiesLoader packagePropertiesLoader,
GlobalConfigProvider defaultConfigProvider) |
Modifier and Type | Method and Description |
---|---|
Config |
defaultConfig()
Returns the default configuration for tests that do not specify a configuration of this type.
|
static Config |
get(ConfigurationStrategy.Configuration testConfig) |
Class<Config> |
getConfigClass()
Retrieve the class type for this Configurer
|
Config |
getConfigFor(Class<?> testClass)
Returns the configuration for the given class.
|
Config |
getConfigFor(Method method)
Returns the configuration for the given method.
|
Config |
getConfigFor(String packageName)
Returns the configuration for a given package.
|
Config |
merge(Config parentConfig,
Config childConfig)
Merges two configurations.
|
protected ConfigConfigurer(PackagePropertiesLoader packagePropertiesLoader)
public ConfigConfigurer(PackagePropertiesLoader packagePropertiesLoader, GlobalConfigProvider defaultConfigProvider)
public static Config get(ConfigurationStrategy.Configuration testConfig)
public Class<Config> getConfigClass()
Configurer
Retrieve the class type for this Configurer
getConfigClass
in interface Configurer<Config>
@Nonnull public Config defaultConfig()
Configurer
Returns the default configuration for tests that do not specify a configuration of this type.
defaultConfig
in interface Configurer<Config>
public Config getConfigFor(@Nonnull String packageName)
Configurer
Returns the configuration for a given package.
This method will be called once for package in the hierarchy leading to the test class being configured. For example, for com.example.FooTest
, this method will be called three times with "com.example"
, "com"
, and ""
(representing the top level package).
getConfigFor
in interface Configurer<Config>
packageName
- the name of the package, or the empty string representing the top level unnamed packagenull
if the given properties has no relevant data for this configurationpublic Config getConfigFor(@Nonnull Class<?> testClass)
Configurer
Returns the configuration for the given class.
This method will be called for each class in the test’s class inheritance hierarchy.
getConfigFor
in interface Configurer<Config>
null
if the given class has no relevant data for this configurationpublic Config getConfigFor(@Nonnull Method method)
Configurer
Returns the configuration for the given method.
getConfigFor
in interface Configurer<Config>
null
if the given method has no relevant data for this configuration@Nonnull public Config merge(@Nonnull Config parentConfig, @Nonnull Config childConfig)
Configurer
Merges two configurations.
This method will called whenever Configurer.getConfigFor(java.lang.String)
returns a non-null configuration object.
merge
in interface Configurer<Config>
parentConfig
- a less specific configuration objectchildConfig
- a more specific configuration object