org.springframework.orm.jpa
Class ExtendedEntityManagerCreator.ExtendedEntityManagerInvocationHandler

java.lang.Object
  extended by org.springframework.orm.jpa.ExtendedEntityManagerCreator.ExtendedEntityManagerInvocationHandler
All Implemented Interfaces:
java.io.Serializable, java.lang.reflect.InvocationHandler
Enclosing class:
ExtendedEntityManagerCreator

private static class ExtendedEntityManagerCreator.ExtendedEntityManagerInvocationHandler
extends java.lang.Object
implements java.lang.reflect.InvocationHandler, java.io.Serializable

InvocationHandler for extended EntityManagers as defined in the JPA spec.


Field Summary
private  boolean containerManaged
           
private  PersistenceExceptionTranslator exceptionTranslator
           
private  boolean jta
           
private static Log logger
           
private  EntityManagerPlusOperations plusOperations
           
private  EntityManager target
           
 
Constructor Summary
private ExtendedEntityManagerCreator.ExtendedEntityManagerInvocationHandler(EntityManager target, EntityManagerPlusOperations plusOperations, PersistenceExceptionTranslator exceptionTranslator, java.lang.Boolean jta, boolean containerManaged)
           
 
Method Summary
private  void doJoinTransaction(boolean enforce)
          Join an existing transaction, if not already joined.
private  void enlistInCurrentTransaction()
          Enlist this application-managed EntityManager in the current transaction.
 java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
           
private  boolean isJtaEntityManager()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final Log logger

target

private final EntityManager target

plusOperations

private final EntityManagerPlusOperations plusOperations

exceptionTranslator

private final PersistenceExceptionTranslator exceptionTranslator

containerManaged

private final boolean containerManaged

jta

private boolean jta
Constructor Detail

ExtendedEntityManagerCreator.ExtendedEntityManagerInvocationHandler

private ExtendedEntityManagerCreator.ExtendedEntityManagerInvocationHandler(EntityManager target,
                                                                            EntityManagerPlusOperations plusOperations,
                                                                            PersistenceExceptionTranslator exceptionTranslator,
                                                                            java.lang.Boolean jta,
                                                                            boolean containerManaged)
Method Detail

isJtaEntityManager

private boolean isJtaEntityManager()

invoke

public java.lang.Object invoke(java.lang.Object proxy,
                               java.lang.reflect.Method method,
                               java.lang.Object[] args)
                        throws java.lang.Throwable
Specified by:
invoke in interface java.lang.reflect.InvocationHandler
Throws:
java.lang.Throwable

doJoinTransaction

private void doJoinTransaction(boolean enforce)
Join an existing transaction, if not already joined.

Parameters:
enforce - whether to enforce the transaction (i.e. whether failure to join is considered fatal)

enlistInCurrentTransaction

private void enlistInCurrentTransaction()
Enlist this application-managed EntityManager in the current transaction.