DataDomainProvider (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.configuration.runtime, class: DataDomainProvider

# Class DataDomainProvider

java.lang.Object
org.apache.cayenne.configuration.runtime.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 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`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DataDomainProvider()`

- ## Method Summary

  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 Object

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

- ## Field Details

  - ### resourceLocator

    protected ResourceLocator resourceLocator

  - ### descriptorMerger

    protected DataChannelDescriptorMerger descriptorMerger

  - ### loader

    protected DataChannelDescriptorLoader loader

  - ### 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

- ## Constructor Details

  - ### DataDomainProvider

    public DataDomainProvider()

- ## Method Details

  - ### 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