|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.event.def.AbstractReassociateEventListener org.hibernate.event.def.AbstractSaveEventListener
public abstract class AbstractSaveEventListener
A convenience bas class for listeners responding to save events.
Field Summary | |
---|---|
protected static int |
DELETED
|
protected static int |
DETACHED
|
protected static int |
PERSISTENT
|
protected static int |
TRANSIENT
|
Constructor Summary | |
---|---|
AbstractSaveEventListener()
|
Method Summary | |
---|---|
protected void |
cascadeAfterSave(EventSource source,
EntityPersister persister,
Object entity,
Object anything)
Handles to calls needed to perform post-save cascades. |
protected void |
cascadeBeforeSave(EventSource source,
EntityPersister persister,
Object entity,
Object anything)
Handles the calls needed to perform pre-save cascades for the given entity. |
protected Boolean |
getAssumedUnsaved()
|
protected abstract CascadingAction |
getCascadeAction()
|
protected int |
getEntityState(Object entity,
String entityName,
EntityEntry entry,
SessionImplementor source)
Determine whether the entity is persistent, detached, or transient |
protected String |
getLoggableName(String entityName,
Object entity)
|
protected Map |
getMergeMap(Object anything)
|
protected boolean |
invokeSaveLifecycle(Object entity,
EntityPersister persister,
EventSource source)
|
protected boolean |
isVersionIncrementDisabled()
After the save, will te version number be incremented if the instance is modified? |
protected Serializable |
performSave(Object entity,
Serializable id,
EntityPersister persister,
boolean useIdentityColumn,
Object anything,
EventSource source,
boolean requiresImmediateIdAccess)
Ppepares the save call by checking the session caches for a pre-existing entity and performing any lifecycle callbacks. |
protected Serializable |
performSaveOrReplicate(Object entity,
EntityKey key,
EntityPersister persister,
boolean useIdentityColumn,
Object anything,
EventSource source,
boolean requiresImmediateIdAccess)
Performs all the actual work needed to save an entity (well to get the save moved to the execution queue). |
protected Serializable |
saveWithGeneratedId(Object entity,
String entityName,
Object anything,
EventSource source,
boolean requiresImmediateIdAccess)
Prepares the save call using a newly generated id. |
protected Serializable |
saveWithRequestedId(Object entity,
Serializable requestedId,
String entityName,
Object anything,
EventSource source)
Prepares the save call using the given requested id. |
protected boolean |
substituteValuesIfNecessary(Object entity,
Serializable id,
Object[] values,
EntityPersister persister,
SessionImplementor source)
Perform any property value substitution that is necessary (interceptor callback, version initialization...) |
protected void |
validate(Object entity,
EntityPersister persister,
EventSource source)
|
protected boolean |
visitCollectionsBeforeSave(Object entity,
Serializable id,
Object[] values,
Type[] types,
EventSource source)
|
Methods inherited from class org.hibernate.event.def.AbstractReassociateEventListener |
---|
reassociate |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int PERSISTENT
protected static final int TRANSIENT
protected static final int DETACHED
protected static final int DELETED
Constructor Detail |
---|
public AbstractSaveEventListener()
Method Detail |
---|
protected Serializable saveWithRequestedId(Object entity, Serializable requestedId, String entityName, Object anything, EventSource source)
entity
- The entity to be saved.requestedId
- The id to which to associate the entity.entityName
- The name of the entity being saved.anything
- Generally cascade-specific information.source
- The session which is the source of this save event.
protected Serializable saveWithGeneratedId(Object entity, String entityName, Object anything, EventSource source, boolean requiresImmediateIdAccess)
entity
- The entity to be savedentityName
- The entity-name for the entity to be savedanything
- Generally cascade-specific information.source
- The session which is the source of this save event.requiresImmediateIdAccess
- does the event context require
access to the identifier immediately after execution of this method (if
not, post-insert style id generators may be postponed if we are outside
a transaction).
protected Serializable performSave(Object entity, Serializable id, EntityPersister persister, boolean useIdentityColumn, Object anything, EventSource source, boolean requiresImmediateIdAccess)
entity
- The entity to be saved.id
- The id by which to save the entity.persister
- The entity's persister instance.useIdentityColumn
- Is an identity column being used?anything
- Generally cascade-specific information.source
- The session from which the event originated.requiresImmediateIdAccess
- does the event context require
access to the identifier immediately after execution of this method (if
not, post-insert style id generators may be postponed if we are outside
a transaction).
protected boolean invokeSaveLifecycle(Object entity, EntityPersister persister, EventSource source)
protected void validate(Object entity, EntityPersister persister, EventSource source)
protected Serializable performSaveOrReplicate(Object entity, EntityKey key, EntityPersister persister, boolean useIdentityColumn, Object anything, EventSource source, boolean requiresImmediateIdAccess)
entity
- The entity to be savedkey
- The id to be used for saving the entity (or null, in the case of identity columns)persister
- The entity's persister instance.useIdentityColumn
- Should an identity column be used for id generation?anything
- Generally cascade-specific information.source
- The session which is the source of the current event.requiresImmediateIdAccess
- Is access to the identifier required immediately
after the completion of the save? persist(), for example, does not require this...
protected Map getMergeMap(Object anything)
protected boolean isVersionIncrementDisabled()
protected boolean visitCollectionsBeforeSave(Object entity, Serializable id, Object[] values, Type[] types, EventSource source)
protected boolean substituteValuesIfNecessary(Object entity, Serializable id, Object[] values, EntityPersister persister, SessionImplementor source)
entity
- The entityid
- The entity identifiervalues
- The snapshot entity statepersister
- The entity persistersource
- The originating session
protected void cascadeBeforeSave(EventSource source, EntityPersister persister, Object entity, Object anything)
source
- The session from whcih the save event originated.persister
- The entity's persister instance.entity
- The entity to be saved.anything
- Generally cascade-specific dataprotected void cascadeAfterSave(EventSource source, EntityPersister persister, Object entity, Object anything)
source
- The session from which the event originated.persister
- The entity's persister instance.entity
- The entity beng saved.anything
- Generally cascade-specific dataprotected abstract CascadingAction getCascadeAction()
protected int getEntityState(Object entity, String entityName, EntityEntry entry, SessionImplementor source)
entity
- The entity to checkentityName
- The name of the entityentry
- The entity's entry in the persistence contextsource
- The originating session.
protected String getLoggableName(String entityName, Object entity)
protected Boolean getAssumedUnsaved()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |