All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo Maven / Gradle / Ivy

There is a newer version: 6.1.6
Show newest version
/*
 * Copyright 2002-2010 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.orm.jpa.persistenceunit;

import java.net.URL;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
import javax.persistence.spi.ClassTransformer;
import javax.persistence.spi.PersistenceUnitTransactionType;
import javax.sql.DataSource;

import org.springframework.util.ClassUtils;

/**
 * Spring's base implementation of the JPA
 * {@link javax.persistence.spi.PersistenceUnitInfo} interface,
 * used to bootstrap an EntityManagerFactory in a container.
 *
 * 

This implementation is largely a JavaBean, offering mutators * for all standard PersistenceUnitInfo properties. * * @author Rod Johnson * @author Juergen Hoeller * @author Costin Leau * @since 2.0 */ public class MutablePersistenceUnitInfo implements SmartPersistenceUnitInfo { private String persistenceUnitName; private String persistenceProviderClassName; private PersistenceUnitTransactionType transactionType; private DataSource nonJtaDataSource; private DataSource jtaDataSource; private List mappingFileNames = new LinkedList(); private List jarFileUrls = new LinkedList(); private URL persistenceUnitRootUrl; private List managedClassNames = new LinkedList(); private boolean excludeUnlistedClasses = false; private Properties properties = new Properties(); private String persistenceXMLSchemaVersion = "1.0"; private String persistenceProviderPackageName; public void setPersistenceUnitName(String persistenceUnitName) { this.persistenceUnitName = persistenceUnitName; } public String getPersistenceUnitName() { return this.persistenceUnitName; } public void setPersistenceProviderClassName(String persistenceProviderClassName) { this.persistenceProviderClassName = persistenceProviderClassName; } public String getPersistenceProviderClassName() { return this.persistenceProviderClassName; } public void setTransactionType(PersistenceUnitTransactionType transactionType) { this.transactionType = transactionType; } public PersistenceUnitTransactionType getTransactionType() { if (this.transactionType != null) { return this.transactionType; } else { return (this.jtaDataSource != null ? PersistenceUnitTransactionType.JTA : PersistenceUnitTransactionType.RESOURCE_LOCAL); } } public void setJtaDataSource(DataSource jtaDataSource) { this.jtaDataSource = jtaDataSource; } public DataSource getJtaDataSource() { return this.jtaDataSource; } public void setNonJtaDataSource(DataSource nonJtaDataSource) { this.nonJtaDataSource = nonJtaDataSource; } public DataSource getNonJtaDataSource() { return this.nonJtaDataSource; } public void addMappingFileName(String mappingFileName) { this.mappingFileNames.add(mappingFileName); } public List getMappingFileNames() { return this.mappingFileNames; } public void addJarFileUrl(URL jarFileUrl) { this.jarFileUrls.add(jarFileUrl); } public List getJarFileUrls() { return this.jarFileUrls; } public void setPersistenceUnitRootUrl(URL persistenceUnitRootUrl) { this.persistenceUnitRootUrl = persistenceUnitRootUrl; } public URL getPersistenceUnitRootUrl() { return this.persistenceUnitRootUrl; } public void addManagedClassName(String managedClassName) { this.managedClassNames.add(managedClassName); } public List getManagedClassNames() { return this.managedClassNames; } public void setExcludeUnlistedClasses(boolean excludeUnlistedClasses) { this.excludeUnlistedClasses = excludeUnlistedClasses; } public boolean excludeUnlistedClasses() { return this.excludeUnlistedClasses; } public void addProperty(String name, String value) { if (this.properties == null) { this.properties = new Properties(); } this.properties.setProperty(name, value); } public void setProperties(Properties properties) { this.properties = properties; } public Properties getProperties() { return this.properties; } public void setPersistenceXMLSchemaVersion(String persistenceXMLSchemaVersion) { this.persistenceXMLSchemaVersion = persistenceXMLSchemaVersion; } public String getPersistenceXMLSchemaVersion() { return this.persistenceXMLSchemaVersion; } public void setPersistenceProviderPackageName(String persistenceProviderPackageName) { this.persistenceProviderPackageName = persistenceProviderPackageName; } public String getPersistenceProviderPackageName() { return this.persistenceProviderPackageName; } /** * This implementation returns the default ClassLoader. * @see org.springframework.util.ClassUtils#getDefaultClassLoader() */ public ClassLoader getClassLoader() { return ClassUtils.getDefaultClassLoader(); } /** * This implementation throws an UnsupportedOperationException. */ public void addTransformer(ClassTransformer classTransformer) { throw new UnsupportedOperationException("addTransformer not supported"); } /** * This implementation throws an UnsupportedOperationException. */ public ClassLoader getNewTempClassLoader() { throw new UnsupportedOperationException("getNewTempClassLoader not supported"); } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("PersistenceUnitInfo: name '"); builder.append(this.persistenceUnitName); builder.append("', root URL ["); builder.append(this.persistenceUnitRootUrl); builder.append("]"); return builder.toString(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy