Package org.robolectric.plugins
Class ConfigConfigurer
java.lang.Object
org.robolectric.plugins.ConfigConfigurer
- All Implemented Interfaces:
Configurer<Config>
@AutoService(Configurer.class)
public class ConfigConfigurer
extends Object
implements Configurer<Config>
Provides configuration to Robolectric for its @
Config
annotation.-
Constructor Summary
ModifierConstructorDescriptionprotected
ConfigConfigurer
(PackagePropertiesLoader packagePropertiesLoader) ConfigConfigurer
(PackagePropertiesLoader packagePropertiesLoader, GlobalConfigProvider defaultConfigProvider) -
Method Summary
Modifier and TypeMethodDescriptionReturns the default configuration for tests that do not specify a configuration of this type.static Config
get
(ConfigurationStrategy.Configuration testConfig) Retrieve the class type for this ConfigurergetConfigFor
(Class<?> testClass) Returns the configuration for the given class.getConfigFor
(Method method) Returns the configuration for the given method.getConfigFor
(String packageName) Returns the configuration for a given package.Merges two configurations.
-
Constructor Details
-
ConfigConfigurer
-
ConfigConfigurer
public ConfigConfigurer(PackagePropertiesLoader packagePropertiesLoader, GlobalConfigProvider defaultConfigProvider)
-
-
Method Details
-
get
-
getConfigClass
Description copied from interface:Configurer
Retrieve the class type for this Configurer- Specified by:
getConfigClass
in interfaceConfigurer<Config>
-
defaultConfig
Description copied from interface:Configurer
Returns the default configuration for tests that do not specify a configuration of this type.- Specified by:
defaultConfig
in interfaceConfigurer<Config>
-
getConfigFor
Description copied from interface: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).- Specified by:
getConfigFor
in interfaceConfigurer<Config>
- Parameters:
packageName
- the name of the package, or the empty string representing the top level unnamed package- Returns:
- a configuration object, or null if the given properties has no relevant data for this configuration
-
getConfigFor
Description copied from interface:Configurer
Returns the configuration for the given class.This method will be called for each class in the test's class inheritance hierarchy.
- Specified by:
getConfigFor
in interfaceConfigurer<Config>
- Returns:
- a configuration object, or null if the given class has no relevant data for this configuration
-
getConfigFor
Description copied from interface:Configurer
Returns the configuration for the given method.- Specified by:
getConfigFor
in interfaceConfigurer<Config>
- Returns:
- a configuration object, or null if the given method has no relevant data for this configuration
-
merge
Description copied from interface:Configurer
Merges two configurations.This method will called whenever
Configurer.getConfigFor(java.lang.String)
returns a non-null configuration object.- Specified by:
merge
in interfaceConfigurer<Config>
- Parameters:
parentConfig
- a less specific configuration objectchildConfig
- a more specific configuration object- Returns:
- the new configuration with merged parent and child data.
-