⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 externalsessionfactoryconfig.java

📁 一个Java持久层类库
💻 JAVA
字号:
// $Id: ExternalSessionFactoryConfig.java 10860 2006-11-22 00:02:55Z steve.ebersole@jboss.com $package org.hibernate.util;import org.hibernate.cfg.Configuration;import org.hibernate.cfg.Environment;import java.util.Properties;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.HashMap;import java.util.HashSet;/** * Defines support for various externally configurable SessionFactory(s), for * example, {@link org.hibernate.jmx.HibernateService JMX} or the JCA * adapter. * * @author Steve Ebersole */public abstract class ExternalSessionFactoryConfig {	private String mapResources;	private String dialect;	private String defaultSchema;	private String defaultCatalog;	private String maximumFetchDepth;	private String jdbcFetchSize;	private String jdbcBatchSize;	private String batchVersionedDataEnabled;	private String jdbcScrollableResultSetEnabled;	private String getGeneratedKeysEnabled;	private String streamsForBinaryEnabled;	private String reflectionOptimizationEnabled;	private String querySubstitutions;	private String showSqlEnabled;	private String commentsEnabled;	private String cacheProviderClass;	private String cacheProviderConfig;	private String cacheRegionPrefix;	private String secondLevelCacheEnabled;	private String minimalPutsEnabled;	private String queryCacheEnabled;	private Map additionalProperties;	private Set excludedPropertyNames = new HashSet();	private Map customListeners;	protected Set getExcludedPropertyNames() {		return excludedPropertyNames;	}	public final String getMapResources() {		return mapResources;	}	public final void setMapResources(String mapResources) {		this.mapResources = mapResources;	}	public void addMapResource(String mapResource) {		if ( mapResources==null || mapResources.length()==0 ) {			mapResources = mapResource.trim();		}		else {			mapResources += ", " + mapResource.trim();		}	}	public final String getDialect() {		return dialect;	}	public final void setDialect(String dialect) {		this.dialect = dialect;	}	public final String getDefaultSchema() {		return defaultSchema;	}	public final void setDefaultSchema(String defaultSchema) {		this.defaultSchema = defaultSchema;	}	public final String getDefaultCatalog() {		return defaultCatalog;	}	public final void setDefaultCatalog(String defaultCatalog) {		this.defaultCatalog = defaultCatalog;	}	public final String getMaximumFetchDepth() {		return maximumFetchDepth;	}	public final void setMaximumFetchDepth(String maximumFetchDepth) {		verifyInt( maximumFetchDepth );		this.maximumFetchDepth = maximumFetchDepth;	}	public final String getJdbcFetchSize() {		return jdbcFetchSize;	}	public final void setJdbcFetchSize(String jdbcFetchSize) {		verifyInt( jdbcFetchSize );		this.jdbcFetchSize = jdbcFetchSize;	}	public final String getJdbcBatchSize() {		return jdbcBatchSize;	}	public final void setJdbcBatchSize(String jdbcBatchSize) {		verifyInt( jdbcBatchSize );		this.jdbcBatchSize = jdbcBatchSize;	}	public final String getBatchVersionedDataEnabled() {		return batchVersionedDataEnabled;	}	public final void setBatchVersionedDataEnabled(String batchVersionedDataEnabled) {		this.batchVersionedDataEnabled = batchVersionedDataEnabled;	}	public final String getJdbcScrollableResultSetEnabled() {		return jdbcScrollableResultSetEnabled;	}	public final void setJdbcScrollableResultSetEnabled(String jdbcScrollableResultSetEnabled) {		this.jdbcScrollableResultSetEnabled = jdbcScrollableResultSetEnabled;	}	public final String getGetGeneratedKeysEnabled() {		return getGeneratedKeysEnabled;	}	public final void setGetGeneratedKeysEnabled(String getGeneratedKeysEnabled) {		this.getGeneratedKeysEnabled = getGeneratedKeysEnabled;	}	public final String getStreamsForBinaryEnabled() {		return streamsForBinaryEnabled;	}	public final void setStreamsForBinaryEnabled(String streamsForBinaryEnabled) {		this.streamsForBinaryEnabled = streamsForBinaryEnabled;	}	public final String getReflectionOptimizationEnabled() {		return reflectionOptimizationEnabled;	}	public final void setReflectionOptimizationEnabled(String reflectionOptimizationEnabled) {		this.reflectionOptimizationEnabled = reflectionOptimizationEnabled;	}	public final String getQuerySubstitutions() {		return querySubstitutions;	}	public final void setQuerySubstitutions(String querySubstitutions) {		this.querySubstitutions = querySubstitutions;	}	public final String getShowSqlEnabled() {		return showSqlEnabled;	}	public final void setShowSqlEnabled(String showSqlEnabled) {		this.showSqlEnabled = showSqlEnabled;	}	public final String getCommentsEnabled() {		return commentsEnabled;	}	public final void setCommentsEnabled(String commentsEnabled) {		this.commentsEnabled = commentsEnabled;	}	public final String getSecondLevelCacheEnabled() {		return secondLevelCacheEnabled;	}	public final void setSecondLevelCacheEnabled(String secondLevelCacheEnabled) {		this.secondLevelCacheEnabled = secondLevelCacheEnabled;	}	public final String getCacheProviderClass() {		return cacheProviderClass;	}	public final void setCacheProviderClass(String cacheProviderClass) {		this.cacheProviderClass = cacheProviderClass;	}	public String getCacheProviderConfig() {		return cacheProviderConfig;	}	public void setCacheProviderConfig(String cacheProviderConfig) {		this.cacheProviderConfig = cacheProviderConfig;	}	public final String getCacheRegionPrefix() {		return cacheRegionPrefix;	}	public final void setCacheRegionPrefix(String cacheRegionPrefix) {		this.cacheRegionPrefix = cacheRegionPrefix;	}	public final String getMinimalPutsEnabled() {		return minimalPutsEnabled;	}	public final void setMinimalPutsEnabled(String minimalPutsEnabled) {		this.minimalPutsEnabled = minimalPutsEnabled;	}	public final String getQueryCacheEnabled() {		return queryCacheEnabled;	}	public final void setQueryCacheEnabled(String queryCacheEnabled) {		this.queryCacheEnabled = queryCacheEnabled;	}	public final Map getCustomListeners() {		return customListeners;	}	public void setCustomListeners(Map customListeners) {		this.customListeners = customListeners;	}	public void setCustomListenersAsString(String customListenersString) {		// Note : expected in the syntax:		//      type=listenerClass		//          ({sep}type=listenerClass)*		// where {sep} is any whitespace or comma		if ( StringHelper.isNotEmpty( customListenersString) ) {			String[] listenerEntries = PropertiesHelper.toStringArray( customListenersString, " ,\n\t\r\f" );			for ( int i = 0; i < listenerEntries.length; i++ ) {				final int keyValueSepPosition = listenerEntries[i].indexOf( '=' );				final String type = listenerEntries[i].substring( 0, keyValueSepPosition );				final String listenerClass = listenerEntries[i].substring( keyValueSepPosition + 1 );				setCustomListener( type, listenerClass );			}		}	}	public void setCustomListener(String type, String listenerClass) {		if ( customListeners == null ) {			customListeners = new HashMap();		}		customListeners.put( type, listenerClass );	}	public final void addAdditionalProperty(String name, String value) {		if ( !getExcludedPropertyNames().contains( name ) ) {			if ( additionalProperties == null ) {				additionalProperties = new HashMap();			}			additionalProperties.put( name, value );		}	}	protected final Configuration buildConfiguration() {		Configuration cfg = new Configuration().setProperties( buildProperties() );		String[] mappingFiles = PropertiesHelper.toStringArray( mapResources, " ,\n\t\r\f" );		for ( int i = 0; i < mappingFiles.length; i++ ) {			cfg.addResource( mappingFiles[i] );		}		if ( customListeners != null && !customListeners.isEmpty() ) {			Iterator entries = customListeners.entrySet().iterator();			while ( entries.hasNext() ) {				final Map.Entry entry = ( Map.Entry ) entries.next();				final String type = ( String ) entry.getKey();				final Object value = entry.getValue();				if ( value != null ) {					if ( String.class.isAssignableFrom( value.getClass() ) ) {						// Its the listener class name						cfg.setListener( type, ( ( String ) value ) );					}					else {						// Its the listener instance (or better be)						cfg.setListener( type, value );					}				}			}		}		return cfg;	}	protected final Properties buildProperties() {		Properties props = new Properties();		setUnlessNull( props, Environment.DIALECT, dialect );		setUnlessNull( props, Environment.DEFAULT_SCHEMA, defaultSchema );		setUnlessNull( props, Environment.DEFAULT_CATALOG, defaultCatalog );		setUnlessNull( props, Environment.MAX_FETCH_DEPTH, maximumFetchDepth );		setUnlessNull( props, Environment.STATEMENT_FETCH_SIZE, jdbcFetchSize );		setUnlessNull( props, Environment.STATEMENT_BATCH_SIZE, jdbcBatchSize );		setUnlessNull( props, Environment.BATCH_VERSIONED_DATA, batchVersionedDataEnabled );		setUnlessNull( props, Environment.USE_SCROLLABLE_RESULTSET, jdbcScrollableResultSetEnabled );		setUnlessNull( props, Environment.USE_GET_GENERATED_KEYS, getGeneratedKeysEnabled );		setUnlessNull( props, Environment.USE_STREAMS_FOR_BINARY, streamsForBinaryEnabled );		setUnlessNull( props, Environment.USE_REFLECTION_OPTIMIZER, reflectionOptimizationEnabled );		setUnlessNull( props, Environment.QUERY_SUBSTITUTIONS, querySubstitutions );		setUnlessNull( props, Environment.SHOW_SQL, showSqlEnabled );		setUnlessNull( props, Environment.USE_SQL_COMMENTS, commentsEnabled );		setUnlessNull( props, Environment.CACHE_PROVIDER, cacheProviderClass );		setUnlessNull( props, Environment.CACHE_PROVIDER_CONFIG, cacheProviderConfig );		setUnlessNull( props, Environment.CACHE_REGION_PREFIX, cacheRegionPrefix );		setUnlessNull( props, Environment.USE_MINIMAL_PUTS, minimalPutsEnabled );		setUnlessNull( props, Environment.USE_SECOND_LEVEL_CACHE, secondLevelCacheEnabled );		setUnlessNull( props, Environment.USE_QUERY_CACHE, queryCacheEnabled );		Map extraProperties = getExtraProperties();		if ( extraProperties != null ) {			addAll( props, extraProperties );		}		if ( additionalProperties != null ) {			addAll( props, additionalProperties );		}		return props;	}	protected void addAll( Properties target, Map source ) {		Iterator itr = source.entrySet().iterator();		while ( itr.hasNext() ) {			final Map.Entry entry = ( Map.Entry ) itr.next();			final String propertyName = ( String ) entry.getKey();			final String propertyValue = ( String ) entry.getValue();			if ( propertyName != null && propertyValue != null ) {				// Make sure we don't override previous set values				if ( !target.keySet().contains( propertyName ) ) {					if ( !getExcludedPropertyNames().contains( propertyName) ) {						target.put( propertyName, propertyValue );					}				}			}		}	}	protected Map getExtraProperties() {		return null;	}	private void setUnlessNull(Properties props, String key, String value) {		if ( value != null ) {			props.setProperty( key, value );		}	}	private void verifyInt(String value)	{		if ( value != null ) {			Integer.parseInt( value );		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -