org.hibernate.action
Class EntityAction

java.lang.Object
  extended byorg.hibernate.action.EntityAction
All Implemented Interfaces:
Comparable, Executable, Serializable
Direct Known Subclasses:
EntityDeleteAction, EntityIdentityInsertAction, EntityInsertAction, EntityUpdateAction

public abstract class EntityAction
extends Object
implements Executable, Serializable, Comparable

Base class for actions relating to insert/update/delete of an entity instance.

Author:
Gavin King
See Also:
Serialized Form

Constructor Summary
protected EntityAction(SessionImplementor session, Serializable id, Object instance, EntityPersister persister)
          Instantiate an action.
 
Method Summary
 void beforeExecutions()
          Called before executing any actions
 int compareTo(Object other)
           
 String getEntityName()
          entity name accessor
 Serializable getId()
          entity id accessor
 Object getInstance()
          entity instance accessor
 EntityPersister getPersister()
          entity persister accessor
 Serializable[] getPropertySpaces()
          What spaces (tables) are affected by this action?
 SessionImplementor getSession()
          originating session accessor
 boolean hasAfterTransactionCompletion()
          Do we need to retain this instance until after the transaction completes?
protected abstract  boolean hasPostCommitEventListeners()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.hibernate.action.Executable
afterTransactionCompletion, execute
 

Constructor Detail

EntityAction

protected EntityAction(SessionImplementor session,
                       Serializable id,
                       Object instance,
                       EntityPersister persister)
Instantiate an action.

Parameters:
session - The session from which this action is coming.
id - The id of the entity
instance - The entiyt instance
persister - The entity persister
Method Detail

hasPostCommitEventListeners

protected abstract boolean hasPostCommitEventListeners()

getEntityName

public String getEntityName()
entity name accessor

Returns:
The entity name

getId

public final Serializable getId()
entity id accessor

Returns:
The entity id

getInstance

public final Object getInstance()
entity instance accessor

Returns:
The entity instance

getSession

public final SessionImplementor getSession()
originating session accessor

Returns:
The session from which this action originated.

getPersister

public final EntityPersister getPersister()
entity persister accessor

Returns:
The entity persister

getPropertySpaces

public final Serializable[] getPropertySpaces()
Description copied from interface: Executable
What spaces (tables) are affected by this action?

Specified by:
getPropertySpaces in interface Executable

beforeExecutions

public void beforeExecutions()
Description copied from interface: Executable
Called before executing any actions

Specified by:
beforeExecutions in interface Executable

hasAfterTransactionCompletion

public boolean hasAfterTransactionCompletion()
Description copied from interface: Executable
Do we need to retain this instance until after the transaction completes?

Specified by:
hasAfterTransactionCompletion in interface Executable
Returns:
false if this class defines a no-op hasAfterTransactionCompletion()

toString

public String toString()

compareTo

public int compareTo(Object other)
Specified by:
compareTo in interface Comparable