> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration Classes

The `market-data-config` module in Atoti Market Data contains Spring configuration classes that instantiate beans to address specific use cases. You can import these configuration classes in your Spring project to make the beans accessible in your application. This is described in the [Atoti Market Data overview](./introduction-to-atoti-market-data#implementation-1).

The following configuration classes are available for import.

In the right-hand column you can see the configuration classes auto-configured when using the `market-data-spring-boot-starter`.

You can disable auto-configuration for classes that are directly imported. To do this, add them to the exclude parameter of the `SpringBootApplication` annotation. Auto-configuration cannot be disabled for classes that are indirectly imported.

## All Configuration

| Class                 | Description                                                                                    | Imported by `market-data-spring-boot-starter` |
| --------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------- |
| `AllMarketDataConfig` | Imports all other configuration classes, except those relating to [DirectQuery](#directquery). | No                                            |

## Market Data Retrieval

These configuration classes enable the [storage and retrieval components of Atoti Market Data](./retrieval).

| Class                                       | Description                                                                                                                                                                    | Imported by `market-data-spring-boot-starter` |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------- |
| `AllMarketDataRetrievalConfig`              | Imports all other `*MarketDataRetrievalConfig` and `MarketDataRetrievalContainerServiceConfig` classes.                                                                        | No                                            |
| `CubeMarketDataRetrievalConfig`             | Publishes a cube rate store bean along with associated date retrievers and translators.                                                                                        | Yes                                           |
| `CurveMarketDataRetrievalConfig`            | Publishes a curve rate store bean along with associated date retrievers and translators.                                                                                       | Yes                                           |
| `FxRateMarketDataRetrievalConfig`           | Publishes an FX rate store bean along with associated date retrievers and translators.                                                                                         | Yes                                           |
| `SpotMarketDataRetrievalConfig`             | Publishes a spot store bean along with associated date retrievers and translators.                                                                                             | Yes                                           |
| `SurfaceMarketDataRetrievalConfig`          | Publishes a surface rate store bean along with associated date retrievers and translators.                                                                                     | Yes                                           |
| `MarketDataRetrievalContainerServiceConfig` | Publishes an `IMarketDataRetrievalContainerService<T>` collecting all implementations of `IMarketDataRetrievalContainer<T>` published by the individual configuration classes. | Yes                                           |

## Post-processor Injection

These configuration classes inject necessary dependencies into [market data post-processors](./postprocessors).

| Class                                           | Description                                                                                                                               | Imported by `market-data-spring-boot-starter`     |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| `CubeMarketDataPostProcessorInjectionConfig`    | Injects necessary components into the `CubeMarketDataPostProcessor`. This is imported by the `CubeMarketDataRetrievalConfig` class.       | Indirectly via `CubeMarketDataRetrievalConfig`    |
| `CurveMarketDataPostProcessorInjectionConfig`   | Injects necessary components into the `CurveMarketDataPostProcessor`. This is imported by the `CurveMarketDataRetrievalConfig` class.     | Indirectly via `CurveMarketDataRetrievalConfig`   |
| `FxMarketDataPostProcessorInjectionConfig`      | Injects necessary components into the `FxMarketDataPostProcessor`. This is imported by the `FxRateMarketDataRetrievalConfig` class.       | Indirectly via `FxRateMarketDataRetrievalConfig`  |
| `SingleMarketDataPostProcessorInjectionConfig`  | Injects necessary components into the `SingleMarketDataPostProcessor`. This is imported by the `SpotMarketDataRetrievalConfig` class.     | Indirectly via `SpotMarketDataRetrievalConfig`    |
| `SurfaceMarketDataPostProcessorInjectionConfig` | Injects necessary components into the `SurfaceMarketDataPostProcessor`. This is imported by the `SurfaceMarketDataRetrievalConfig` class. | Indirectly via `SurfaceMarketDataRetrievalConfig` |

## Interpolation

These configuration classes enable [interpolation of market data](./interpolation).

| Class                                     | Description                                                                                                                                                                      | Imported by `market-data-spring-boot-starter` |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| `AllMarketDataInterpolationConfig`        | Imports all other `*InterpolatorConfig` classes.                                                                                                                                 | No                                            |
| `InterpolatorBuilderServiceConfig`        | Collects all `IInterpolatorFactory` beans and publishes an `IInterpolatorBuilderService` bean that can be overridden by creating a custom bean of the same type.                 | Yes                                           |
| `LinearUnivariateInterpolatorConfig`      | Publishes a `LinearUnivariateInterpolatorFactory` as an `ILinearUnivariateInterpolatorFactory` bean that can be overridden by creating a custom bean of the same type.           | Yes                                           |
| `BilinearInterpolatorConfig`              | Publishes a `BilinearInterpolatorFactory` as an `IBilinearInterpolatorFactory` bean that can be overridden by creating a custom bean of the same type.                           | Yes                                           |
| `BicubicInterpolatorConfig`               | Publishes a `BicubicInterpolatorFactory` as an `IBicubicInterpolatorFactoryFactory` bean that can be overridden by creating a custom bean of the same type.                      | Yes                                           |
| `SplineUnivariateInterpolatorConfig`      | Publishes a `SplineUnivariateInterpolatorFactory` as an `ISplineUnivariateInterpolatorFactory` bean that can be overridden by creating a custom bean of the same type.           | Yes                                           |
| `SplineBicubicInterpolatorConfig`         | Publishes a `SplineBicubicInterpolatorFactory` as an `ISplineBicubicInterpolatorFactory` bean that can be overridden by creating a custom bean of the same type.                 | Yes                                           |
| `VolToVarianceBilinearInterpolatorConfig` | Publishes a `VolToVarianceBilinearInterpolatorFactory` as an `IVolToVarianceBilinearInterpolatorFactory` bean that can be overridden by creating a custom bean of the same type. | Yes                                           |

## Configuration Properties

These classes enable [property-based configuration](./config-properties) of Atoti Market Data components.

| Class                | Description                                                                                                                                                | Imported by `market-data-spring-boot-starter`        |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `DefaultsProperties` | A Spring Configuration Properties class containing default values. This is imported by the market data retrieval config classes.                           | Indirectly via market data retrieval config classes. |
| `FxProperties`       | A Spring Configuration Properties class containing properties relating to FX rate retrieval. This is imported by the market data retrieval config classes. | Indirectly via market data retrieval config classes. |
| `StoreProperties`    | A Spring Configuration Properties class containing properties used to define stores. This is imported by the market data retrieval config classes.         | Indirectly via market data retrieval config classes. |

## DirectQuery

These configuration classes enable the use of [Atoti Market Data with DirectQuery](./directquery), specifically the DirectQuery Local Cache.

| Class                                     | Description                                                                                                                  | Imported by `market-data-spring-boot-starter` |
| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| `AllMarketDataDirectQueryConfig`          | Imports all other `*MarketDataDirectQueryCacheConfig` classes and the `DatabaseCacheManagerInjectionConfig` class.           | No                                            |
| `CubeMarketDataDirectQueryCacheConfig`    | Publishes a `SingleTableCacheDescription` bean to cache data from the `CubeMarketDataStore` in a DirectQuery application.    | No                                            |
| `CurveMarketDataDirectQueryCacheConfig`   | Publishes a `SingleTableCacheDescription` bean to cache data from the `CurveMarketDataStore` in a DirectQuery application.   | No                                            |
| `FxRateMarketDataDirectQueryCacheConfig`  | Publishes a `SingleTableCacheDescription` bean to cache data from the `FxRateMarketDataStore` in a DirectQuery application.  | No                                            |
| `SpotMarketDataDirectQueryCacheConfig`    | Publishes a `SingleTableCacheDescription` bean to cache data from the `SpotMarketDataStore` in a DirectQuery application.    | No                                            |
| `SurfaceMarketDataDirectQueryCacheConfig` | Publishes a `SingleTableCacheDescription` bean to cache data from the `SurfaceMarketDataStore` in a DirectQuery application. | No                                            |
| `DatabaseCacheManagerInjectionConfig`     | Injects the `IDatabaseCacheManager` into all post-processors implementing `IDatabaseCachePrefetchingPostProcessor`.          | No                                            |
