public class MergedContextConfiguration extends Object implements Serializable
MergedContextConfiguration encapsulates the merged
 context configuration declared on a test class and all of its superclasses
 via @ContextConfiguration,
 @ActiveProfiles, and
 @TestPropertySource.
 Merged context resource locations, annotated classes, active profiles,
 property resource locations, and in-lined properties represent all declared
 values in the test class hierarchy taking into consideration the semantics
 of the ContextConfiguration.inheritLocations(),
 ActiveProfiles.inheritProfiles(),
 TestPropertySource.inheritLocations(), and
 TestPropertySource.inheritProperties() flags.
 
A SmartContextLoader uses MergedContextConfiguration
 to load an ApplicationContext.
 
MergedContextConfiguration is also used by the
 ContextCache
 as the key for caching an
 ApplicationContext
 that was loaded using properties of this MergedContextConfiguration.
ContextConfiguration, 
ContextHierarchy, 
ActiveProfiles, 
TestPropertySource, 
ContextConfigurationAttributes, 
SmartContextLoader.loadContext(MergedContextConfiguration), 
Serialized Form| Constructor and Description | 
|---|
| MergedContextConfiguration(Class<?> testClass,
                          String[] locations,
                          Class<?>[] classes,
                          Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses,
                          String[] activeProfiles,
                          ContextLoader contextLoader)Create a new  MergedContextConfigurationinstance for the
 supplied parameters. | 
| MergedContextConfiguration(Class<?> testClass,
                          String[] locations,
                          Class<?>[] classes,
                          Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses,
                          String[] activeProfiles,
                          ContextLoader contextLoader,
                          CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate,
                          MergedContextConfiguration parent)Create a new  MergedContextConfigurationinstance for the
 supplied parameters. | 
| MergedContextConfiguration(Class<?> testClass,
                          String[] locations,
                          Class<?>[] classes,
                          Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses,
                          String[] activeProfiles,
                          String[] propertySourceLocations,
                          String[] propertySourceProperties,
                          ContextLoader contextLoader,
                          CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate,
                          MergedContextConfiguration parent)Create a new  MergedContextConfigurationinstance for the
 supplied parameters. | 
| MergedContextConfiguration(Class<?> testClass,
                          String[] locations,
                          Class<?>[] classes,
                          Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses,
                          String[] activeProfiles,
                          String[] propertySourceLocations,
                          String[] propertySourceProperties,
                          Set<ContextCustomizer> contextCustomizers,
                          ContextLoader contextLoader,
                          CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate,
                          MergedContextConfiguration parent)Create a new  MergedContextConfigurationinstance for the
 supplied parameters. | 
| MergedContextConfiguration(Class<?> testClass,
                          String[] locations,
                          Class<?>[] classes,
                          String[] activeProfiles,
                          ContextLoader contextLoader)Create a new  MergedContextConfigurationinstance for the
 supplied parameters. | 
| MergedContextConfiguration(MergedContextConfiguration mergedConfig)Create a new  MergedContextConfigurationinstance by copying
 all fields from the suppliedMergedContextConfiguration. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object other)Determine if the supplied object is equal to this  MergedContextConfigurationinstance by comparing both object's locations,
 annotated classes,
 context initializer classes,
 active profiles,
 property source locations,
 property source properties,
 parents, and the fully qualified names of theirContextLoaders. | 
| String[] | getActiveProfiles()Get the merged active bean definition profiles for the
 test class. | 
| Class<?>[] | getClasses()Get the merged annotated classes for the test class. | 
| Set<ContextCustomizer> | getContextCustomizers()Get the merged  ContextCustomizersthat will be applied
 when the application context is loaded. | 
| Set<Class<? extends ApplicationContextInitializer<?>>> | getContextInitializerClasses()Get the merged  ApplicationContextInitializerclasses for the
 test class. | 
| ContextLoader | getContextLoader()Get the resolved  ContextLoaderfor the test class. | 
| String[] | getLocations()Get the merged resource locations for  ApplicationContextconfiguration files for the test class. | 
| MergedContextConfiguration | getParent()Get the  MergedContextConfigurationfor the parent application context
 in a context hierarchy. | 
| ApplicationContext | getParentApplicationContext()Get the parent  ApplicationContextfor the context defined by thisMergedContextConfigurationfrom the context cache. | 
| String[] | getPropertySourceLocations()Get the merged resource locations for test  PropertySourcesfor the test class. | 
| String[] | getPropertySourceProperties()Get the merged test  PropertySourceproperties for the
 test class. | 
| Class<?> | getTestClass()Get the test class associated with this
  MergedContextConfiguration. | 
| boolean | hasClasses()Determine if this  MergedContextConfigurationinstance has
 class-based resources. | 
| int | hashCode()Generate a unique hash code for all properties of this
  MergedContextConfigurationexcluding the
 test class. | 
| boolean | hasLocations()Determine if this  MergedContextConfigurationinstance has
 path-based context resource locations. | 
| boolean | hasResources()Determine if this  MergedContextConfigurationinstance has
 either path-based context resource locations or class-based resources. | 
| protected static String | nullSafeClassName(ContextLoader contextLoader)Generate a null-safe  Stringrepresentation of the suppliedContextLoaderbased solely on the fully qualified name of the
 loader or "null" if the supplied loader isnull. | 
| String | toString()Provide a String representation of the test class,
 locations, annotated classes,
 context initializer classes,
 active profiles,
 property source locations,
 property source properties,
 context customizers,
 the name of the  ContextLoader, and the
 parent configuration. | 
public MergedContextConfiguration(Class<?> testClass, @Nullable String[] locations, @Nullable Class<?>[] classes, @Nullable String[] activeProfiles, @Nullable ContextLoader contextLoader)
MergedContextConfiguration instance for the
 supplied parameters.testClass - the test class for which the configuration was mergedlocations - the merged context resource locationsclasses - the merged annotated classesactiveProfiles - the merged active bean definition profilescontextLoader - the resolved ContextLoaderpublic MergedContextConfiguration(Class<?> testClass, @Nullable String[] locations, @Nullable Class<?>[] classes, @Nullable Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses, @Nullable String[] activeProfiles, @Nullable ContextLoader contextLoader)
MergedContextConfiguration instance for the
 supplied parameters.testClass - the test class for which the configuration was mergedlocations - the merged context resource locationsclasses - the merged annotated classescontextInitializerClasses - the merged context initializer classesactiveProfiles - the merged active bean definition profilescontextLoader - the resolved ContextLoaderpublic MergedContextConfiguration(Class<?> testClass, @Nullable String[] locations, @Nullable Class<?>[] classes, @Nullable Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses, @Nullable String[] activeProfiles, @Nullable ContextLoader contextLoader, @Nullable CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate, @Nullable MergedContextConfiguration parent)
MergedContextConfiguration instance for the
 supplied parameters.testClass - the test class for which the configuration was mergedlocations - the merged context resource locationsclasses - the merged annotated classescontextInitializerClasses - the merged context initializer classesactiveProfiles - the merged active bean definition profilescontextLoader - the resolved ContextLoadercacheAwareContextLoaderDelegate - a cache-aware context loader
 delegate with which to retrieve the parent contextparent - the parent configuration or null if there is no parentpublic MergedContextConfiguration(MergedContextConfiguration mergedConfig)
MergedContextConfiguration instance by copying
 all fields from the supplied MergedContextConfiguration.public MergedContextConfiguration(Class<?> testClass, @Nullable String[] locations, @Nullable Class<?>[] classes, @Nullable Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses, @Nullable String[] activeProfiles, @Nullable String[] propertySourceLocations, @Nullable String[] propertySourceProperties, @Nullable ContextLoader contextLoader, @Nullable CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate, @Nullable MergedContextConfiguration parent)
MergedContextConfiguration instance for the
 supplied parameters.
 If a null value is supplied for locations,
 classes, activeProfiles, propertySourceLocations,
 or propertySourceProperties an empty array will be stored instead.
 If a null value is supplied for the
 contextInitializerClasses an empty set will be stored instead.
 Furthermore, active profiles will be sorted, and duplicate profiles
 will be removed.
testClass - the test class for which the configuration was mergedlocations - the merged context resource locationsclasses - the merged annotated classescontextInitializerClasses - the merged context initializer classesactiveProfiles - the merged active bean definition profilespropertySourceLocations - the merged PropertySource locationspropertySourceProperties - the merged PropertySource propertiescontextLoader - the resolved ContextLoadercacheAwareContextLoaderDelegate - a cache-aware context loader
 delegate with which to retrieve the parent contextparent - the parent configuration or null if there is no parentpublic MergedContextConfiguration(Class<?> testClass, @Nullable String[] locations, @Nullable Class<?>[] classes, @Nullable Set<Class<? extends ApplicationContextInitializer<?>>> contextInitializerClasses, @Nullable String[] activeProfiles, @Nullable String[] propertySourceLocations, @Nullable String[] propertySourceProperties, @Nullable Set<ContextCustomizer> contextCustomizers, @Nullable ContextLoader contextLoader, @Nullable CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate, @Nullable MergedContextConfiguration parent)
MergedContextConfiguration instance for the
 supplied parameters.
 If a null value is supplied for locations,
 classes, activeProfiles, propertySourceLocations,
 or propertySourceProperties an empty array will be stored instead.
 If a null value is supplied for contextInitializerClasses
 or contextCustomizers, an empty set will be stored instead.
 Furthermore, active profiles will be sorted, and duplicate profiles
 will be removed.
testClass - the test class for which the configuration was mergedlocations - the merged context resource locationsclasses - the merged annotated classescontextInitializerClasses - the merged context initializer classesactiveProfiles - the merged active bean definition profilespropertySourceLocations - the merged PropertySource locationspropertySourceProperties - the merged PropertySource propertiescontextCustomizers - the context customizerscontextLoader - the resolved ContextLoadercacheAwareContextLoaderDelegate - a cache-aware context loader
 delegate with which to retrieve the parent contextparent - the parent configuration or null if there is no parentpublic Class<?> getTestClass()
MergedContextConfiguration.public String[] getLocations()
ApplicationContext
 configuration files for the test class.
 Context resource locations typically represent XML configuration files or Groovy scripts.
public Class<?>[] getClasses()
public boolean hasLocations()
MergedContextConfiguration instance has
 path-based context resource locations.true if the locations array is not emptyhasResources(), 
hasClasses()public boolean hasClasses()
MergedContextConfiguration instance has
 class-based resources.true if the classes array is not emptyhasResources(), 
hasLocations()public boolean hasResources()
MergedContextConfiguration instance has
 either path-based context resource locations or class-based resources.true if either the locations
 or the classes array is not emptyhasLocations(), 
hasClasses()public Set<Class<? extends ApplicationContextInitializer<?>>> getContextInitializerClasses()
ApplicationContextInitializer classes for the
 test class.public String[] getActiveProfiles()
ActiveProfilespublic String[] getPropertySourceLocations()
PropertySources
 for the test class.TestPropertySource.locations(), 
Propertiespublic String[] getPropertySourceProperties()
PropertySource properties for the
 test class.
 Properties will be loaded into the Environment's set of
 PropertySources.
TestPropertySource.properties(), 
Propertiespublic Set<ContextCustomizer> getContextCustomizers()
ContextCustomizers that will be applied
 when the application context is loaded.public ContextLoader getContextLoader()
ContextLoader for the test class.@Nullable public MergedContextConfiguration getParent()
MergedContextConfiguration for the parent application context
 in a context hierarchy.null if there is no parentgetParentApplicationContext()@Nullable public ApplicationContext getParentApplicationContext()
ApplicationContext for the context defined by this
 MergedContextConfiguration from the context cache.
 If the parent context has not yet been loaded, it will be loaded, stored in the cache, and then returned.
ApplicationContext or null if there is no parentgetParent()public boolean equals(@Nullable Object other)
MergedContextConfiguration
 instance by comparing both object's locations,
 annotated classes,
 context initializer classes,
 active profiles,
 property source locations,
 property source properties,
 parents, and the fully qualified names of their
 ContextLoaders.public int hashCode()
MergedContextConfiguration excluding the
 test class.public String toString()
ContextLoader, and the
 parent configuration.protected static String nullSafeClassName(@Nullable ContextLoader contextLoader)
String representation of the supplied
 ContextLoader based solely on the fully qualified name of the
 loader or "null" if the supplied loader is null.