Package org.apache.cayenne.configuration.server

## Class DataDomainProvider

- java.lang.Object
- - org.apache.cayenne.configuration.server.DataDomainProvider

- All Implemented Interfaces:
    `Provider<DataDomain>`

      public class DataDomainProvider
      extends Object
      implements Provider<DataDomain>

  A `DataChannel` provider that provides a single instance of DataDomain configured per configuration supplied via injected `DataChannelDescriptorLoader`.
  Since:
    3.1

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected DataNodeFactory` | `dataNodeFactory` |
    `protected DataChannelDescriptorMerger` | `descriptorMerger` |
    `protected List<DataChannelFilter>` | `filters` | Deprecated. since 4.1, use query and sync filters instead
    `protected Injector` | `injector` |
    `protected List<Object>` | `listeners` |
    `protected DataChannelDescriptorLoader` | `loader` |
    `protected List<String>` | `locations` |
    `protected QueryCache` | `queryCache` |
    `protected List<DataChannelQueryFilter>` | `queryFilters` |
    `protected ResourceLocator` | `resourceLocator` |
    `protected RuntimeProperties` | `runtimeProperties` |
    `protected List<DataChannelSyncFilter>` | `syncFilters` |
    `protected ValueComparisonStrategyFactory` | `valueComparisonStrategyFactory` |
    `protected ValueObjectTypeRegistry` | `valueObjectTypeRegistry` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DataDomainProvider()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected DataNode` | `addDataNode​(DataDomain dataDomain, DataNodeDescriptor nodeDescriptor)` |
    `protected DataDomain` | `createAndInitDataDomain()` |
    `protected DataDomain` | `createDataDomain​(String name)` |
    `DataDomain` | `get()` |
    `protected DataChannelDescriptor` | `loadDescriptor()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### resourceLocator

          protected ResourceLocator resourceLocator

    - #### descriptorMerger

          protected DataChannelDescriptorMerger descriptorMerger

    - #### loader

          protected DataChannelDescriptorLoader loader

    - #### filters

          @Deprecated
          protected List<DataChannelFilter> filters

      Deprecated.
      since 4.1, use query and sync filters instead

    - #### queryFilters

          protected List<DataChannelQueryFilter> queryFilters

      Since:
        4.1

    - #### syncFilters

          protected List<DataChannelSyncFilter> syncFilters

      Since:
        4.1

    - #### listeners

          protected List<Object> listeners

    - #### locations

          protected List<String> locations

    - #### injector

          protected Injector injector

    - #### queryCache

          protected QueryCache queryCache

    - #### runtimeProperties

          protected RuntimeProperties runtimeProperties

    - #### dataNodeFactory

          protected DataNodeFactory dataNodeFactory

    - #### valueObjectTypeRegistry

          protected ValueObjectTypeRegistry valueObjectTypeRegistry

    - #### valueComparisonStrategyFactory

          protected ValueComparisonStrategyFactory valueComparisonStrategyFactory

      Since:
        4.2

  - ### Constructor Detail

    - #### DataDomainProvider

          public DataDomainProvider()

  - ### Method Detail

    - #### get

          public DataDomain get()
                         throws ConfigurationException

      Specified by:
        `get` in interface `Provider<DataDomain>`
      Throws:
        `ConfigurationException`

    - #### createDataDomain

          protected DataDomain createDataDomain​(String name)

    - #### createAndInitDataDomain

          protected DataDomain createAndInitDataDomain()
                                                throws Exception

      Throws:
        `Exception`

    - #### loadDescriptor

          protected DataChannelDescriptor loadDescriptor()

      Since:
        4.0

    - #### addDataNode

          protected DataNode addDataNode​(DataDomain dataDomain,
                                         DataNodeDescriptor nodeDescriptor)
                                  throws Exception

      Throws:
        `Exception`
      Since:
        4.0