org.jboss.seam.persistence
Class DefaultPersistenceProvider
java.lang.Object
org.jboss.seam.persistence.DefaultPersistenceProvider
- All Implemented Interfaces:
- Serializable, org.jboss.seam.persistence.SeamPersistenceProvider
- Direct Known Subclasses:
- HibernatePersistenceProvider
public class DefaultPersistenceProvider
- extends Object
- implements org.jboss.seam.persistence.SeamPersistenceProvider, Serializable
Abstraction layer for persistence providers (JPA implementations). This class
provides a working base implementation that can be optimized for performance
and non-standardized features by extending and overriding the methods.
The methods on this class are a great todo list for the next rev of the JPA
spec ;-)
- Author:
- Gavin King, Pete Muir, Stuart Douglas
- See Also:
- Serialized Form
|
Method Summary |
void |
checkVersion(Object bean,
javax.persistence.EntityManager entityManager,
Object oldVersion,
Object version)
|
Set<Class<?>> |
getAdditionalEntityManagerInterfaces()
|
Class<?> |
getBeanClass(Object bean)
|
Object |
getId(Object bean,
javax.persistence.EntityManager entityManager)
|
String |
getName(Object bean,
javax.persistence.EntityManager entityManager)
|
Method |
getPostLoadMethod(Object bean,
javax.persistence.EntityManager entityManager)
|
Method |
getPrePersistMethod(Object bean,
javax.persistence.EntityManager entityManager)
|
Method |
getPreRemoveMethod(Object bean,
javax.persistence.EntityManager entityManager)
|
Method |
getPreUpdateMethod(Object bean,
javax.persistence.EntityManager entityManager)
|
org.jboss.seam.persistence.FlushModeType |
getRenderFlushMode()
|
Object |
getVersion(Object bean,
javax.persistence.EntityManager entityManager)
|
boolean |
isCorrectProvider(javax.persistence.EntityManager em)
|
boolean |
isDirty(javax.persistence.EntityManager entityManager)
|
Object |
proxyDelegate(Object delegate)
|
javax.persistence.EntityManager |
proxyEntityManager(javax.persistence.EntityManager entityManager)
|
boolean |
registerSynchronization(Synchronization sync,
javax.persistence.EntityManager entityManager)
|
void |
setFlushMode(javax.persistence.EntityManager entityManager,
org.jboss.seam.persistence.FlushModeType type)
|
void |
setFlushModeManual(javax.persistence.EntityManager entityManager)
|
boolean |
supportsFeature(DefaultPersistenceProvider.Feature feature)
Indicate whether this JPA provider supports the feature defined by the
provided Feature enum value. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
featureSet
protected Set<DefaultPersistenceProvider.Feature> featureSet
DefaultPersistenceProvider
public DefaultPersistenceProvider()
supportsFeature
public boolean supportsFeature(DefaultPersistenceProvider.Feature feature)
- Indicate whether this JPA provider supports the feature defined by the
provided Feature enum value.
isCorrectProvider
public boolean isCorrectProvider(javax.persistence.EntityManager em)
- Specified by:
isCorrectProvider in interface org.jboss.seam.persistence.SeamPersistenceProvider
setFlushMode
public void setFlushMode(javax.persistence.EntityManager entityManager,
org.jboss.seam.persistence.FlushModeType type)
- Specified by:
setFlushMode in interface org.jboss.seam.persistence.SeamPersistenceProvider
setFlushModeManual
public void setFlushModeManual(javax.persistence.EntityManager entityManager)
- Specified by:
setFlushModeManual in interface org.jboss.seam.persistence.SeamPersistenceProvider
getRenderFlushMode
public org.jboss.seam.persistence.FlushModeType getRenderFlushMode()
- Specified by:
getRenderFlushMode in interface org.jboss.seam.persistence.SeamPersistenceProvider
isDirty
public boolean isDirty(javax.persistence.EntityManager entityManager)
- Specified by:
isDirty in interface org.jboss.seam.persistence.SeamPersistenceProvider
getId
public Object getId(Object bean,
javax.persistence.EntityManager entityManager)
- Specified by:
getId in interface org.jboss.seam.persistence.SeamPersistenceProvider
getName
public String getName(Object bean,
javax.persistence.EntityManager entityManager)
throws IllegalArgumentException
- Specified by:
getName in interface org.jboss.seam.persistence.SeamPersistenceProvider
- Throws:
IllegalArgumentException
getVersion
public Object getVersion(Object bean,
javax.persistence.EntityManager entityManager)
- Specified by:
getVersion in interface org.jboss.seam.persistence.SeamPersistenceProvider
checkVersion
public void checkVersion(Object bean,
javax.persistence.EntityManager entityManager,
Object oldVersion,
Object version)
- Specified by:
checkVersion in interface org.jboss.seam.persistence.SeamPersistenceProvider
registerSynchronization
public boolean registerSynchronization(Synchronization sync,
javax.persistence.EntityManager entityManager)
- Specified by:
registerSynchronization in interface org.jboss.seam.persistence.SeamPersistenceProvider
proxyDelegate
public Object proxyDelegate(Object delegate)
- Specified by:
proxyDelegate in interface org.jboss.seam.persistence.SeamPersistenceProvider
proxyEntityManager
public javax.persistence.EntityManager proxyEntityManager(javax.persistence.EntityManager entityManager)
- Specified by:
proxyEntityManager in interface org.jboss.seam.persistence.SeamPersistenceProvider
getAdditionalEntityManagerInterfaces
public Set<Class<?>> getAdditionalEntityManagerInterfaces()
- Specified by:
getAdditionalEntityManagerInterfaces in interface org.jboss.seam.persistence.SeamPersistenceProvider
getBeanClass
public Class<?> getBeanClass(Object bean)
- Specified by:
getBeanClass in interface org.jboss.seam.persistence.SeamPersistenceProvider
getPostLoadMethod
public Method getPostLoadMethod(Object bean,
javax.persistence.EntityManager entityManager)
getPrePersistMethod
public Method getPrePersistMethod(Object bean,
javax.persistence.EntityManager entityManager)
getPreUpdateMethod
public Method getPreUpdateMethod(Object bean,
javax.persistence.EntityManager entityManager)
getPreRemoveMethod
public Method getPreRemoveMethod(Object bean,
javax.persistence.EntityManager entityManager)
Copyright © 2011 Seam Framework. All Rights Reserved.