Class SingleValueConfigurer<A extends Annotation,T extends Enum<T>>
- All Implemented Interfaces:
Configurer<T>
- Direct Known Subclasses:
ConscryptModeConfigurer
,GraphicsModeConfigurer
,LazyApplicationConfigurer
,LooperModeConfigurer
,SQLiteModeConfigurer
,TextLayoutModeConfigurer
The property name in system properties is the simple name of annotation being read, with the
first letter lower cased, unless propertyName()
is overridden, prefixed with
"robolectric."
The property name in robolectric is the simple name of annotation being read, with the first
letter lower cased, unless propertyName()
is overridden, note that there is no prefix.
All values are eagerly cached at construction of an instance.
-
Constructor Summary
ConstructorDescriptionSingleValueConfigurer
(Class<A> annotationType, Class<T> configurationType, T defaultValue, PackagePropertiesLoader propertiesLoader, Properties systemProperties) -
Method Summary
Modifier and TypeMethodDescriptionReturns the default configuration for tests that do not specify a configuration of this type.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.protected final String
getProperty
(String property) Merges two configurations.protected String
Computes the property name that will be used to look for values in a property file, or in System propertiesprotected T
protected T
-
Constructor Details
-
SingleValueConfigurer
public SingleValueConfigurer(Class<A> annotationType, Class<T> configurationType, T defaultValue, PackagePropertiesLoader propertiesLoader, Properties systemProperties)
-
-
Method Details
-
propertyName
Computes the property name that will be used to look for values in a property file, or in System properties -
getConfigClass
Description copied from interface:Configurer
Retrieve the class type for this Configurer- Specified by:
getConfigClass
in interfaceConfigurer<A extends Annotation>
-
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<A extends Annotation>
-
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<A extends Annotation>
- 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<A extends Annotation>
- 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<A extends Annotation>
- Returns:
- a configuration object, or null if the given method has no relevant data for this configuration
-
getProperty
-
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<A extends Annotation>
- Parameters:
parentConfig
- a less specific configuration objectchildConfig
- a more specific configuration object- Returns:
- the new configuration with merged parent and child data.
-
valueFrom
-
valueFrom
-