/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * Copyright (c) 2010, Red Hat Inc. or third-party contributors as
 * indicated by the @author tags or express copyright attribution
 * statements applied by the authors.  All third-party contributions are
 * distributed under license by Red Hat Inc.
 *
 * This copyrighted material is made available to anyone wishing to use, modify,
 * copy, or redistribute it subject to the terms and conditions of the GNU
 * Lesser General Public License, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this distribution; if not, write to:
 * Free Software Foundation, Inc.
 * 51 Franklin Street, Fifth Floor
 * Boston, MA  02110-1301  USA
 */
package org.hibernate.cfg;

import java.util.Map;

import org.hibernate.ConnectionReleaseMode;
import org.hibernate.EntityMode;
import org.hibernate.MultiTenancyStrategy;
import org.hibernate.NullPrecedence;
import org.hibernate.cache.spi.QueryCacheFactory;
import org.hibernate.cache.spi.RegionFactory;
import org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform;
import org.hibernate.hql.spi.MultiTableBulkIdStrategy;
import org.hibernate.hql.spi.QueryTranslatorFactory;
import org.hibernate.loader.BatchFetchStyle;
import org.hibernate.tuple.entity.EntityTuplizerFactory;

Settings that affect the behaviour of Hibernate at runtime.
Author:Gavin King
/** * Settings that affect the behaviour of Hibernate at runtime. * * @author Gavin King */
public final class Settings { private Integer maximumFetchDepth; private Map querySubstitutions; private int jdbcBatchSize; private int defaultBatchFetchSize; private boolean scrollableResultSetsEnabled; private boolean getGeneratedKeysEnabled; private String defaultSchemaName; private String defaultCatalogName; private Integer jdbcFetchSize; private String sessionFactoryName; private boolean sessionFactoryNameAlsoJndiName; private boolean autoCreateSchema; private boolean autoDropSchema; private boolean autoUpdateSchema; private boolean autoValidateSchema; private boolean queryCacheEnabled; private boolean structuredCacheEntriesEnabled; private boolean secondLevelCacheEnabled; private boolean autoEvictCollectionCache; private String cacheRegionPrefix; private boolean minimalPutsEnabled; private boolean commentsEnabled; private boolean statisticsEnabled; private boolean jdbcBatchVersionedData; private boolean identifierRollbackEnabled; private boolean flushBeforeCompletionEnabled; private boolean autoCloseSessionEnabled; private ConnectionReleaseMode connectionReleaseMode; private RegionFactory regionFactory; private QueryCacheFactory queryCacheFactory; private QueryTranslatorFactory queryTranslatorFactory; private boolean wrapResultSetsEnabled; private boolean orderUpdatesEnabled; private boolean orderInsertsEnabled; private EntityMode defaultEntityMode; private boolean dataDefinitionImplicitCommit; private boolean dataDefinitionInTransactionSupported; private boolean strictJPAQLCompliance; private boolean namedQueryStartupCheckingEnabled; private EntityTuplizerFactory entityTuplizerFactory; private boolean checkNullability; private NullPrecedence defaultNullPrecedence; private boolean initializeLazyStateOutsideTransactions; // private ComponentTuplizerFactory componentTuplizerFactory; todo : HHH-3517 and HHH-1907 // private BytecodeProvider bytecodeProvider; private String importFiles; private MultiTenancyStrategy multiTenancyStrategy; private JtaPlatform jtaPlatform; private MultiTableBulkIdStrategy multiTableBulkIdStrategy; private BatchFetchStyle batchFetchStyle; private boolean directReferenceCacheEntriesEnabled; private boolean jtaTrackByThread; private BaselineSessionEventsListenerBuilder baselineSessionEventsListenerBuilder;
Package protected constructor
/** * Package protected constructor */
Settings() { } // public getters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public String getImportFiles() { return importFiles; } public void setImportFiles(String importFiles) { this.importFiles = importFiles; } public String getDefaultSchemaName() { return defaultSchemaName; } public String getDefaultCatalogName() { return defaultCatalogName; } public int getJdbcBatchSize() { return jdbcBatchSize; } public int getDefaultBatchFetchSize() { return defaultBatchFetchSize; } public Map getQuerySubstitutions() { return querySubstitutions; } public boolean isIdentifierRollbackEnabled() { return identifierRollbackEnabled; } public boolean isScrollableResultSetsEnabled() { return scrollableResultSetsEnabled; } public boolean isGetGeneratedKeysEnabled() { return getGeneratedKeysEnabled; } public boolean isMinimalPutsEnabled() { return minimalPutsEnabled; } public Integer getJdbcFetchSize() { return jdbcFetchSize; } public String getSessionFactoryName() { return sessionFactoryName; } public boolean isSessionFactoryNameAlsoJndiName() { return sessionFactoryNameAlsoJndiName; } public boolean isAutoCreateSchema() { return autoCreateSchema; } public boolean isAutoDropSchema() { return autoDropSchema; } public boolean isAutoUpdateSchema() { return autoUpdateSchema; } public Integer getMaximumFetchDepth() { return maximumFetchDepth; } public RegionFactory getRegionFactory() { return regionFactory; } public boolean isQueryCacheEnabled() { return queryCacheEnabled; } public boolean isCommentsEnabled() { return commentsEnabled; } public boolean isSecondLevelCacheEnabled() { return secondLevelCacheEnabled; } public String getCacheRegionPrefix() { return cacheRegionPrefix; } public QueryCacheFactory getQueryCacheFactory() { return queryCacheFactory; } public boolean isStatisticsEnabled() { return statisticsEnabled; } public boolean isJdbcBatchVersionedData() { return jdbcBatchVersionedData; } public boolean isFlushBeforeCompletionEnabled() { return flushBeforeCompletionEnabled; } public boolean isAutoCloseSessionEnabled() { return autoCloseSessionEnabled; } public ConnectionReleaseMode getConnectionReleaseMode() { return connectionReleaseMode; } public QueryTranslatorFactory getQueryTranslatorFactory() { return queryTranslatorFactory; } public boolean isWrapResultSetsEnabled() { return wrapResultSetsEnabled; } public boolean isOrderUpdatesEnabled() { return orderUpdatesEnabled; } public boolean isOrderInsertsEnabled() { return orderInsertsEnabled; } public boolean isStructuredCacheEntriesEnabled() { return structuredCacheEntriesEnabled; } public boolean isDirectReferenceCacheEntriesEnabled() { return directReferenceCacheEntriesEnabled; } public EntityMode getDefaultEntityMode() { return defaultEntityMode; } public boolean isAutoValidateSchema() { return autoValidateSchema; } public boolean isDataDefinitionImplicitCommit() { return dataDefinitionImplicitCommit; } public boolean isDataDefinitionInTransactionSupported() { return dataDefinitionInTransactionSupported; } public boolean isStrictJPAQLCompliance() { return strictJPAQLCompliance; } public boolean isNamedQueryStartupCheckingEnabled() { return namedQueryStartupCheckingEnabled; } public EntityTuplizerFactory getEntityTuplizerFactory() { return entityTuplizerFactory; } // public ComponentTuplizerFactory getComponentTuplizerFactory() { // return componentTuplizerFactory; // } public NullPrecedence getDefaultNullPrecedence() { return defaultNullPrecedence; } // package protected setters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void setDefaultSchemaName(String string) { defaultSchemaName = string; } void setDefaultCatalogName(String string) { defaultCatalogName = string; } void setJdbcBatchSize(int i) { jdbcBatchSize = i; } void setDefaultBatchFetchSize(int i) { defaultBatchFetchSize = i; } void setQuerySubstitutions(Map map) { querySubstitutions = map; } void setIdentifierRollbackEnabled(boolean b) { identifierRollbackEnabled = b; } void setMinimalPutsEnabled(boolean b) { minimalPutsEnabled = b; } void setScrollableResultSetsEnabled(boolean b) { scrollableResultSetsEnabled = b; } void setGetGeneratedKeysEnabled(boolean b) { getGeneratedKeysEnabled = b; } void setJdbcFetchSize(Integer integer) { jdbcFetchSize = integer; } void setSessionFactoryName(String string) { sessionFactoryName = string; } void setSessionFactoryNameAlsoJndiName(boolean sessionFactoryNameAlsoJndiName) { this.sessionFactoryNameAlsoJndiName = sessionFactoryNameAlsoJndiName; } void setAutoCreateSchema(boolean b) { autoCreateSchema = b; } void setAutoDropSchema(boolean b) { autoDropSchema = b; } void setAutoUpdateSchema(boolean b) { autoUpdateSchema = b; } void setMaximumFetchDepth(Integer i) { maximumFetchDepth = i; } void setRegionFactory(RegionFactory regionFactory) { this.regionFactory = regionFactory; } void setQueryCacheEnabled(boolean b) { queryCacheEnabled = b; } void setCommentsEnabled(boolean commentsEnabled) { this.commentsEnabled = commentsEnabled; } void setSecondLevelCacheEnabled(boolean secondLevelCacheEnabled) { this.secondLevelCacheEnabled = secondLevelCacheEnabled; } void setCacheRegionPrefix(String cacheRegionPrefix) { this.cacheRegionPrefix = cacheRegionPrefix; } void setQueryCacheFactory(QueryCacheFactory queryCacheFactory) { this.queryCacheFactory = queryCacheFactory; } void setStatisticsEnabled(boolean statisticsEnabled) { this.statisticsEnabled = statisticsEnabled; } void setJdbcBatchVersionedData(boolean jdbcBatchVersionedData) { this.jdbcBatchVersionedData = jdbcBatchVersionedData; } void setFlushBeforeCompletionEnabled(boolean flushBeforeCompletionEnabled) { this.flushBeforeCompletionEnabled = flushBeforeCompletionEnabled; } void setAutoCloseSessionEnabled(boolean autoCloseSessionEnabled) { this.autoCloseSessionEnabled = autoCloseSessionEnabled; } void setConnectionReleaseMode(ConnectionReleaseMode connectionReleaseMode) { this.connectionReleaseMode = connectionReleaseMode; } void setQueryTranslatorFactory(QueryTranslatorFactory queryTranslatorFactory) { this.queryTranslatorFactory = queryTranslatorFactory; } void setWrapResultSetsEnabled(boolean wrapResultSetsEnabled) { this.wrapResultSetsEnabled = wrapResultSetsEnabled; } void setOrderUpdatesEnabled(boolean orderUpdatesEnabled) { this.orderUpdatesEnabled = orderUpdatesEnabled; } void setOrderInsertsEnabled(boolean orderInsertsEnabled) { this.orderInsertsEnabled = orderInsertsEnabled; } void setStructuredCacheEntriesEnabled(boolean structuredCacheEntriesEnabled) { this.structuredCacheEntriesEnabled = structuredCacheEntriesEnabled; } void setDefaultEntityMode(EntityMode defaultEntityMode) { this.defaultEntityMode = defaultEntityMode; } void setAutoValidateSchema(boolean autoValidateSchema) { this.autoValidateSchema = autoValidateSchema; } void setDataDefinitionImplicitCommit(boolean dataDefinitionImplicitCommit) { this.dataDefinitionImplicitCommit = dataDefinitionImplicitCommit; } void setDataDefinitionInTransactionSupported(boolean dataDefinitionInTransactionSupported) { this.dataDefinitionInTransactionSupported = dataDefinitionInTransactionSupported; } void setStrictJPAQLCompliance(boolean strictJPAQLCompliance) { this.strictJPAQLCompliance = strictJPAQLCompliance; } void setNamedQueryStartupCheckingEnabled(boolean namedQueryStartupCheckingEnabled) { this.namedQueryStartupCheckingEnabled = namedQueryStartupCheckingEnabled; } void setEntityTuplizerFactory(EntityTuplizerFactory entityTuplizerFactory) { this.entityTuplizerFactory = entityTuplizerFactory; } public boolean isCheckNullability() { return checkNullability; } public void setCheckNullability(boolean checkNullability) { this.checkNullability = checkNullability; } // void setComponentTuplizerFactory(ComponentTuplizerFactory componentTuplizerFactory) { // this.componentTuplizerFactory = componentTuplizerFactory; // } // public BytecodeProvider getBytecodeProvider() { // return bytecodeProvider; // } // // void setBytecodeProvider(BytecodeProvider bytecodeProvider) { // this.bytecodeProvider = bytecodeProvider; // } public JtaPlatform getJtaPlatform() { return jtaPlatform; } void setJtaPlatform(JtaPlatform jtaPlatform) { this.jtaPlatform = jtaPlatform; } public MultiTenancyStrategy getMultiTenancyStrategy() { return multiTenancyStrategy; } void setMultiTenancyStrategy(MultiTenancyStrategy multiTenancyStrategy) { this.multiTenancyStrategy = multiTenancyStrategy; } public boolean isInitializeLazyStateOutsideTransactionsEnabled() { return initializeLazyStateOutsideTransactions; } void setInitializeLazyStateOutsideTransactions(boolean initializeLazyStateOutsideTransactions) { this.initializeLazyStateOutsideTransactions = initializeLazyStateOutsideTransactions; } public MultiTableBulkIdStrategy getMultiTableBulkIdStrategy() { return multiTableBulkIdStrategy; } void setMultiTableBulkIdStrategy(MultiTableBulkIdStrategy multiTableBulkIdStrategy) { this.multiTableBulkIdStrategy = multiTableBulkIdStrategy; } public BatchFetchStyle getBatchFetchStyle() { return batchFetchStyle; } void setBatchFetchStyle(BatchFetchStyle batchFetchStyle) { this.batchFetchStyle = batchFetchStyle; } public void setDirectReferenceCacheEntriesEnabled(boolean directReferenceCacheEntriesEnabled) { this.directReferenceCacheEntriesEnabled = directReferenceCacheEntriesEnabled; } void setDefaultNullPrecedence(NullPrecedence defaultNullPrecedence) { this.defaultNullPrecedence = defaultNullPrecedence; } public boolean isJtaTrackByThread() { return jtaTrackByThread; } public void setJtaTrackByThread(boolean jtaTrackByThread) { this.jtaTrackByThread = jtaTrackByThread; } public boolean isAutoEvictCollectionCache() { return autoEvictCollectionCache; } public void setAutoEvictCollectionCache(boolean autoEvictCollectionCache) { this.autoEvictCollectionCache = autoEvictCollectionCache; } public void setBaselineSessionEventsListenerBuilder(BaselineSessionEventsListenerBuilder baselineSessionEventsListenerBuilder) { this.baselineSessionEventsListenerBuilder = baselineSessionEventsListenerBuilder; } public BaselineSessionEventsListenerBuilder getBaselineSessionEventsListenerBuilder() { return baselineSessionEventsListenerBuilder; } }