Search in sources :

Example 1 with ObjectStoreFactory

use of org.apache.cayenne.configuration.ObjectStoreFactory in project cayenne by apache.

the class ServerModule method configure.

public void configure(Binder binder) {
    // configure global stack properties
    contributeProperties(binder).put(Constants.SERVER_MAX_ID_QUALIFIER_SIZE_PROPERTY, String.valueOf(DEFAULT_MAX_ID_QUALIFIER_SIZE));
    binder.bind(JdbcEventLogger.class).to(Slf4jJdbcEventLogger.class);
    binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class);
    binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class);
    // configure known DbAdapter detectors in reverse order of popularity.
    // Users can add their own to install custom adapters automatically
    contributeAdapterDetectors(binder).add(FirebirdSniffer.class).add(OpenBaseSniffer.class).add(FrontBaseSniffer.class).add(IngresSniffer.class).add(SQLiteSniffer.class).add(DB2Sniffer.class).add(H2Sniffer.class).add(HSQLDBSniffer.class).add(SybaseSniffer.class).add(DerbySniffer.class).add(SQLServerSniffer.class).add(OracleSniffer.class).add(PostgresSniffer.class).add(MySQLSniffer.class);
    // configure a filter chain with only one TransactionFilter as default
    contributeDomainFilters(binder).add(TransactionFilter.class);
    // init listener list
    contributeDomainListeners(binder);
    // configure extended types
    contributeDefaultTypes(binder).add(new VoidType()).add(new BigDecimalType()).add(new BooleanType()).add(new ByteType(false)).add(new CharType(false, true)).add(new DoubleType()).add(new FloatType()).add(new IntegerType()).add(new LongType()).add(new ShortType(false)).add(new ByteArrayType(false, true)).add(new DateType()).add(new TimeType()).add(new TimestampType()).add(new UtilDateType()).add(new CalendarType<>(GregorianCalendar.class)).add(new CalendarType<>(Calendar.class));
    contributeUserTypes(binder);
    contributeTypeFactories(binder);
    // Custom ValueObjects types contribution
    contributeValueObjectTypes(binder).add(BigIntegerValueType.class).add(UUIDValueType.class).add(LocalDateValueType.class).add(LocalTimeValueType.class).add(LocalDateTimeValueType.class).add(CharacterValueType.class);
    binder.bind(ValueObjectTypeRegistry.class).to(DefaultValueObjectTypeRegistry.class);
    // configure explicit configurations
    ListBuilder<String> locationsListBuilder = contributeProjectLocations(binder);
    binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class);
    binder.bind(EventManager.class).to(DefaultEventManager.class);
    binder.bind(QueryCache.class).toProvider(MapQueryCacheProvider.class);
    binder.bind(EventBridge.class).toProvider(NoopEventBridgeProvider.class);
    binder.bind(DataRowStoreFactory.class).to(DefaultDataRowStoreFactory.class);
    // a service to provide the main stack DataDomain
    binder.bind(DataDomain.class).toProvider(DataDomainProvider.class);
    binder.bind(DataNodeFactory.class).to(DefaultDataNodeFactory.class);
    // will return DataDomain for request for a DataChannel
    binder.bind(DataChannel.class).toProvider(DomainDataChannelProvider.class);
    binder.bind(ObjectContextFactory.class).to(DataContextFactory.class);
    binder.bind(TransactionFactory.class).to(DefaultTransactionFactory.class);
    // a service to load project XML descriptors
    binder.bind(DataChannelDescriptorLoader.class).to(XMLDataChannelDescriptorLoader.class);
    binder.bind(DataChannelDescriptorMerger.class).to(DefaultDataChannelDescriptorMerger.class);
    // a service to load DataMap XML descriptors
    binder.bind(DataMapLoader.class).to(XMLDataMapLoader.class);
    // a locator of resources, such as XML descriptors
    binder.bind(ResourceLocator.class).to(ClassLoaderResourceLocator.class);
    binder.bind(Key.get(ResourceLocator.class, Constants.SERVER_RESOURCE_LOCATOR)).to(ClassLoaderResourceLocator.class);
    // a global properties object
    binder.bind(RuntimeProperties.class).to(DefaultRuntimeProperties.class);
    // a service to load DataSourceFactories. DelegatingDataSourceFactory
    // will attempt to find the actual worker factory dynamically on each
    // call depending on DataNodeDescriptor data and the environment
    binder.bind(DataSourceFactory.class).to(DelegatingDataSourceFactory.class);
    binder.bind(SchemaUpdateStrategyFactory.class).to(DefaultSchemaUpdateStrategyFactory.class);
    // a default DBAdapterFactory used to load custom and automatic
    // DbAdapters
    binder.bind(DbAdapterFactory.class).to(DefaultDbAdapterFactory.class);
    // binding AshwoodEntitySorter without scope, as this is a stateful
    // object and is
    // configured by the owning domain
    binder.bind(EntitySorter.class).to(AshwoodEntitySorter.class).withoutScope();
    binder.bind(BatchTranslatorFactory.class).to(DefaultBatchTranslatorFactory.class);
    binder.bind(SelectTranslatorFactory.class).to(DefaultSelectTranslatorFactory.class);
    // a default ObjectMapRetainStrategy used to create objects map for
    // ObjectStore
    binder.bind(ObjectMapRetainStrategy.class).to(DefaultObjectMapRetainStrategy.class);
    // a default ObjectStoreFactory used to create ObjectStores for contexts
    binder.bind(ObjectStoreFactory.class).to(DefaultObjectStoreFactory.class);
    binder.bind(TransactionManager.class).to(DefaultTransactionManager.class);
    binder.bind(RowReaderFactory.class).to(DefaultRowReaderFactory.class);
    binder.bind(SQLTemplateProcessor.class).to(CayenneSQLTemplateProcessor.class);
    binder.bind(TemplateContextFactory.class).to(DefaultTemplateContextFactory.class);
    binder.bind(HandlerFactory.class).to(DefaultHandlerFactory.class);
    binder.bind(DataChannelMetaData.class).to(NoopDataChannelMetaData.class);
    binder.bind(XMLReader.class).toProviderInstance(new XMLReaderProvider(false)).withoutScope();
}
Also used : SchemaUpdateStrategyFactory(org.apache.cayenne.access.dbsync.SchemaUpdateStrategyFactory) DefaultSchemaUpdateStrategyFactory(org.apache.cayenne.access.dbsync.DefaultSchemaUpdateStrategyFactory) QueryCache(org.apache.cayenne.cache.QueryCache) EventBridge(org.apache.cayenne.event.EventBridge) ByteType(org.apache.cayenne.access.types.ByteType) FloatType(org.apache.cayenne.access.types.FloatType) DataChannelDescriptorMerger(org.apache.cayenne.configuration.DataChannelDescriptorMerger) DefaultDataChannelDescriptorMerger(org.apache.cayenne.configuration.DefaultDataChannelDescriptorMerger) XMLReaderProvider(org.apache.cayenne.configuration.xml.XMLReaderProvider) HandlerFactory(org.apache.cayenne.configuration.xml.HandlerFactory) DefaultHandlerFactory(org.apache.cayenne.configuration.xml.DefaultHandlerFactory) NoopDataChannelMetaData(org.apache.cayenne.configuration.xml.NoopDataChannelMetaData) DataChannelMetaData(org.apache.cayenne.configuration.xml.DataChannelMetaData) H2Sniffer(org.apache.cayenne.dba.h2.H2Sniffer) UtilDateType(org.apache.cayenne.access.types.UtilDateType) UtilDateType(org.apache.cayenne.access.types.UtilDateType) DateType(org.apache.cayenne.access.types.DateType) FirebirdSniffer(org.apache.cayenne.dba.firebird.FirebirdSniffer) DefaultRuntimeProperties(org.apache.cayenne.configuration.DefaultRuntimeProperties) RuntimeProperties(org.apache.cayenne.configuration.RuntimeProperties) DataRowStoreFactory(org.apache.cayenne.access.DataRowStoreFactory) DefaultDataRowStoreFactory(org.apache.cayenne.access.DefaultDataRowStoreFactory) ResourceLocator(org.apache.cayenne.resource.ResourceLocator) ClassLoaderResourceLocator(org.apache.cayenne.resource.ClassLoaderResourceLocator) DataDomain(org.apache.cayenne.access.DataDomain) ShortType(org.apache.cayenne.access.types.ShortType) LocalDateValueType(org.apache.cayenne.access.types.LocalDateValueType) ObjectMapRetainStrategy(org.apache.cayenne.access.ObjectMapRetainStrategy) DefaultObjectMapRetainStrategy(org.apache.cayenne.access.DefaultObjectMapRetainStrategy) ByteArrayType(org.apache.cayenne.access.types.ByteArrayType) TransactionManager(org.apache.cayenne.tx.TransactionManager) DefaultTransactionManager(org.apache.cayenne.tx.DefaultTransactionManager) DefaultTransactionFactory(org.apache.cayenne.tx.DefaultTransactionFactory) TransactionFactory(org.apache.cayenne.tx.TransactionFactory) XMLDataChannelDescriptorLoader(org.apache.cayenne.configuration.xml.XMLDataChannelDescriptorLoader) DataChannelDescriptorLoader(org.apache.cayenne.configuration.DataChannelDescriptorLoader) CharType(org.apache.cayenne.access.types.CharType) SybaseSniffer(org.apache.cayenne.dba.sybase.SybaseSniffer) BigDecimalType(org.apache.cayenne.access.types.BigDecimalType) FrontBaseSniffer(org.apache.cayenne.dba.frontbase.FrontBaseSniffer) VoidType(org.apache.cayenne.access.types.VoidType) LongType(org.apache.cayenne.access.types.LongType) ObjectStoreFactory(org.apache.cayenne.configuration.ObjectStoreFactory) DefaultObjectStoreFactory(org.apache.cayenne.configuration.DefaultObjectStoreFactory) PostgresSniffer(org.apache.cayenne.dba.postgres.PostgresSniffer) DataMapLoader(org.apache.cayenne.configuration.DataMapLoader) XMLDataMapLoader(org.apache.cayenne.configuration.xml.XMLDataMapLoader) ValueObjectTypeRegistry(org.apache.cayenne.access.types.ValueObjectTypeRegistry) DefaultValueObjectTypeRegistry(org.apache.cayenne.access.types.DefaultValueObjectTypeRegistry) BigIntegerValueType(org.apache.cayenne.access.types.BigIntegerValueType) TimeType(org.apache.cayenne.access.types.TimeType) SQLiteSniffer(org.apache.cayenne.dba.sqlite.SQLiteSniffer) AshwoodEntitySorter(org.apache.cayenne.ashwood.AshwoodEntitySorter) Slf4jJdbcEventLogger(org.apache.cayenne.log.Slf4jJdbcEventLogger) JdbcEventLogger(org.apache.cayenne.log.JdbcEventLogger) ConfigurationNameMapper(org.apache.cayenne.configuration.ConfigurationNameMapper) DefaultConfigurationNameMapper(org.apache.cayenne.configuration.DefaultConfigurationNameMapper) TimestampType(org.apache.cayenne.access.types.TimestampType) DefaultTemplateContextFactory(org.apache.cayenne.template.DefaultTemplateContextFactory) TemplateContextFactory(org.apache.cayenne.template.TemplateContextFactory) SQLServerSniffer(org.apache.cayenne.dba.sqlserver.SQLServerSniffer) DefaultEventManager(org.apache.cayenne.event.DefaultEventManager) EventManager(org.apache.cayenne.event.EventManager) GregorianCalendar(java.util.GregorianCalendar) Calendar(java.util.Calendar) BooleanType(org.apache.cayenne.access.types.BooleanType) RowReaderFactory(org.apache.cayenne.access.jdbc.reader.RowReaderFactory) DefaultRowReaderFactory(org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory) ObjectContextFactory(org.apache.cayenne.configuration.ObjectContextFactory) LocalDateTimeValueType(org.apache.cayenne.access.types.LocalDateTimeValueType) IntegerType(org.apache.cayenne.access.types.IntegerType) DataChannel(org.apache.cayenne.DataChannel) DoubleType(org.apache.cayenne.access.types.DoubleType) DefaultBatchTranslatorFactory(org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory) BatchTranslatorFactory(org.apache.cayenne.access.translator.batch.BatchTranslatorFactory) DefaultClassLoaderManager(org.apache.cayenne.di.spi.DefaultClassLoaderManager) ClassLoaderManager(org.apache.cayenne.di.ClassLoaderManager) CayenneSQLTemplateProcessor(org.apache.cayenne.template.CayenneSQLTemplateProcessor) SQLTemplateProcessor(org.apache.cayenne.access.jdbc.SQLTemplateProcessor) DefaultAdhocObjectFactory(org.apache.cayenne.di.spi.DefaultAdhocObjectFactory) AdhocObjectFactory(org.apache.cayenne.di.AdhocObjectFactory) CalendarType(org.apache.cayenne.access.types.CalendarType) DefaultSelectTranslatorFactory(org.apache.cayenne.access.translator.select.DefaultSelectTranslatorFactory) SelectTranslatorFactory(org.apache.cayenne.access.translator.select.SelectTranslatorFactory)

Aggregations

Calendar (java.util.Calendar)1 GregorianCalendar (java.util.GregorianCalendar)1 DataChannel (org.apache.cayenne.DataChannel)1 DataDomain (org.apache.cayenne.access.DataDomain)1 DataRowStoreFactory (org.apache.cayenne.access.DataRowStoreFactory)1 DefaultDataRowStoreFactory (org.apache.cayenne.access.DefaultDataRowStoreFactory)1 DefaultObjectMapRetainStrategy (org.apache.cayenne.access.DefaultObjectMapRetainStrategy)1 ObjectMapRetainStrategy (org.apache.cayenne.access.ObjectMapRetainStrategy)1 DefaultSchemaUpdateStrategyFactory (org.apache.cayenne.access.dbsync.DefaultSchemaUpdateStrategyFactory)1 SchemaUpdateStrategyFactory (org.apache.cayenne.access.dbsync.SchemaUpdateStrategyFactory)1 SQLTemplateProcessor (org.apache.cayenne.access.jdbc.SQLTemplateProcessor)1 DefaultRowReaderFactory (org.apache.cayenne.access.jdbc.reader.DefaultRowReaderFactory)1 RowReaderFactory (org.apache.cayenne.access.jdbc.reader.RowReaderFactory)1 BatchTranslatorFactory (org.apache.cayenne.access.translator.batch.BatchTranslatorFactory)1 DefaultBatchTranslatorFactory (org.apache.cayenne.access.translator.batch.DefaultBatchTranslatorFactory)1 DefaultSelectTranslatorFactory (org.apache.cayenne.access.translator.select.DefaultSelectTranslatorFactory)1 SelectTranslatorFactory (org.apache.cayenne.access.translator.select.SelectTranslatorFactory)1 BigDecimalType (org.apache.cayenne.access.types.BigDecimalType)1 BigIntegerValueType (org.apache.cayenne.access.types.BigIntegerValueType)1 BooleanType (org.apache.cayenne.access.types.BooleanType)1