/*
* Hibernate OGM, Domain model persistence for NoSQL datastores
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.ogm.jpa.impl;
import java.net.URL;
import java.util.List;
import java.util.Properties;
import javax.persistence.SharedCacheMode;
import javax.persistence.ValidationMode;
import javax.persistence.spi.ClassTransformer;
import javax.persistence.spi.PersistenceUnitInfo;
import javax.persistence.spi.PersistenceUnitTransactionType;
import javax.sql.DataSource;
import org.hibernate.jpa.HibernatePersistenceProvider;
/**
* Delegate most PersistenceUnitInfo method except for:
* - getPersistenceProviderClassName which is set to Hibernate EntityManager's persistence provider
*
* @author Emmanuel Bernard <emmanuel@hibernate.org>
*/
public class DelegatorPersistenceUnitInfo implements PersistenceUnitInfo {
private final PersistenceUnitInfo delegator;
public DelegatorPersistenceUnitInfo(PersistenceUnitInfo info) {
this.delegator = info;
}
@Override
public String getPersistenceUnitName() {
return delegator.getPersistenceUnitName();
}
@Override
public String getPersistenceProviderClassName() {
return HibernatePersistenceProvider.class.getName();
}
@Override
public PersistenceUnitTransactionType getTransactionType() {
return delegator.getTransactionType();
}
@Override
public DataSource getJtaDataSource() {
return delegator.getJtaDataSource();
}
@Override
public DataSource getNonJtaDataSource() {
return delegator.getNonJtaDataSource();
}
@Override
public List<String> getMappingFileNames() {
return delegator.getMappingFileNames();
}
@Override
public List<URL> getJarFileUrls() {
return delegator.getJarFileUrls();
}
@Override
public URL getPersistenceUnitRootUrl() {
return delegator.getPersistenceUnitRootUrl();
}
@Override
public List<String> getManagedClassNames() {
return delegator.getManagedClassNames();
}
@Override
public boolean excludeUnlistedClasses() {
return delegator.excludeUnlistedClasses();
}
@Override
public SharedCacheMode getSharedCacheMode() {
return delegator.getSharedCacheMode();
}
@Override
public ValidationMode getValidationMode() {
return delegator.getValidationMode();
}
@Override
public Properties getProperties() {
return delegator.getProperties();
}
@Override
public String getPersistenceXMLSchemaVersion() {
return delegator.getPersistenceXMLSchemaVersion();
}
@Override
public ClassLoader getClassLoader() {
return delegator.getClassLoader();
}
@Override
public void addTransformer(ClassTransformer transformer) {
delegator.addTransformer( transformer );
}
@Override
public ClassLoader getNewTempClassLoader() {
return delegator.getNewTempClassLoader();
}
}