## org.springframework.test.context
Class MergedContextConfiguration

    java.lang.Object
      org.springframework.test.context.MergedContextConfiguration

All Implemented Interfaces:
  Serializable

    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` and `@ActiveProfiles`.

Merged resource locations, configuration classes, and active profiles represent all declared values in the test class hierarchy taking into consideration the semantics of the `inheritLocations` and `inheritProfiles` flags in `@ContextConfiguration` and `@ActiveProfiles`, respectively.

A `SmartContextLoader` uses `MergedContextConfiguration` to load an `ApplicationContext`.

`MergedContextConfiguration` is also used by the `TestContext` as the context cache key for caching an `ApplicationContext` that was loaded using properties of this `MergedContextConfiguration`.

Since:
  3.1
Author:
  Sam Brannen
See Also:
  `ContextConfiguration`, `ActiveProfiles`, `ContextConfigurationAttributes`, `SmartContextLoader.loadContext(MergedContextConfiguration)`, Serialized Form

Constructor Summary
`MergedContextConfiguration(Class<?> testClass, String[] locations, Class<?>[] classes, String[] activeProfiles, ContextLoader contextLoader)` Create a new `MergedContextConfiguration` instance for the supplied `test class`, resource locations, configuration classes, active profiles, and `ContextLoader`.

Method Summary
`boolean` `equals(Object obj)` Determine if the supplied object is equal to this `MergedContextConfiguration` instance by comparing both object's `locations`, `configuration classes`, `active profiles`, and the fully qualified names of their `ContextLoaders`.
`String[]` `getActiveProfiles()` Get the merged active bean definition profiles for the `test class`.
`Class<?>[]` `getClasses()` Get the merged configuration classes for the `test class`.
`ContextLoader` `getContextLoader()` Get the resolved `ContextLoader` for the `test class`.
`String[]` `getLocations()` Get the merged resource locations for the `test class`.
`Class<?>` `getTestClass()` Get the `test class` associated with this `MergedContextConfiguration`.
`int` `hashCode()` Generate a unique hash code for all properties of this `MergedContextConfiguration` excluding the `test class`.
`String` `toString()` Provide a String representation of the `test class`, `locations`, `configuration classes`, `active profiles`, and the name of the `ContextLoader`.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### MergedContextConfiguration

    public MergedContextConfiguration(Class<?> testClass,
                                      String[] locations,
                                      Class<?>[] classes,
                                      String[] activeProfiles,
                                      ContextLoader contextLoader)

  Create a new `MergedContextConfiguration` instance for the supplied `test class`, resource locations, configuration classes, active profiles, and `ContextLoader`.

  If a `null` value is supplied for `locations`, `classes`, or `activeProfiles` an empty array will be stored instead. Furthermore, active profiles will be sorted, and duplicate profiles will be removed.

  Parameters:
    `testClass` - the test class for which the configuration was merged
    `locations` - the merged resource locations
    `classes` - the merged configuration classes
    `activeProfiles` - the merged active bean definition profiles
    `contextLoader` - the resolved `ContextLoader`

Method Detail

### getTestClass

    public Class<?> getTestClass()

  Get the `test class` associated with this `MergedContextConfiguration`.

### getLocations

    public String[] getLocations()

  Get the merged resource locations for the `test class`.

### getClasses

    public Class<?>[] getClasses()

  Get the merged configuration classes for the `test class`.

### getActiveProfiles

    public String[] getActiveProfiles()

  Get the merged active bean definition profiles for the `test class`.

### getContextLoader

    public ContextLoader getContextLoader()

  Get the resolved `ContextLoader` for the `test class`.

### hashCode

    public int hashCode()

  Generate a unique hash code for all properties of this `MergedContextConfiguration` excluding the `test class`.

  Overrides:
    `hashCode` in class `Object`

### equals

    public boolean equals(Object obj)

  Determine if the supplied object is equal to this `MergedContextConfiguration` instance by comparing both object's `locations`, `configuration classes`, `active profiles`, and the fully qualified names of their `ContextLoaders`.

  Overrides:
    `equals` in class `Object`

### toString

    public String toString()

  Provide a String representation of the `test class`, `locations`, `configuration classes`, `active profiles`, and the name of the `ContextLoader`.

  Overrides:
    `toString` in class `Object`