public class ClosureEventListener
extends java.lang.Object
implements org.hibernate.event.SaveOrUpdateEventListener, org.hibernate.event.PreLoadEventListener, org.hibernate.event.PostLoadEventListener, org.hibernate.event.PostInsertEventListener, org.hibernate.event.PostUpdateEventListener, org.hibernate.event.PostDeleteEventListener, org.hibernate.event.PreDeleteEventListener, org.hibernate.event.PreUpdateEventListener
Invokes closure events on domain entities such as beforeInsert, beforeUpdate and beforeDelete.
Also deals with auto time stamping of domain classes that have properties named 'lastUpdated' and/or 'dateCreated'.
| Modifier and Type | Field and Description |
|---|---|
protected static org.apache.commons.logging.Log |
LOG |
| Constructor and Description |
|---|
ClosureEventListener(java.lang.Class<?> domainClazz,
boolean failOnError,
java.util.List failOnErrorPackages) |
ClosureEventListener(java.lang.Class<?> domainClazz,
boolean failOnError,
java.util.List failOnErrorPackages,
org.grails.datastore.gorm.timestamp.TimestampProvider timestampProvider) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
handleTimestampingBeforeInsert(java.lang.Object entity,
boolean synchronizeState) |
protected void |
handleTimestampingBeforeUpdate(org.hibernate.event.PreUpdateEvent event,
java.lang.Object entity) |
void |
onPostDelete(org.hibernate.event.PostDeleteEvent event) |
void |
onPostInsert(org.hibernate.event.PostInsertEvent event) |
void |
onPostLoad(org.hibernate.event.PostLoadEvent event) |
void |
onPostUpdate(org.hibernate.event.PostUpdateEvent event) |
boolean |
onPreDelete(org.hibernate.event.PreDeleteEvent event) |
boolean |
onPreInsert(org.hibernate.event.PreInsertEvent event) |
void |
onPreLoad(org.hibernate.event.PreLoadEvent event) |
boolean |
onPreUpdate(org.hibernate.event.PreUpdateEvent event) |
void |
onSaveOrUpdate(org.hibernate.event.SaveOrUpdateEvent event) |
void |
onValidate(org.grails.datastore.mapping.engine.event.ValidationEvent event) |
protected void |
synchronizeEntityUpdateActionState(org.hibernate.event.AbstractPreDatabaseOperationEvent event,
java.lang.Object entity,
java.util.HashMap<java.lang.Integer,java.lang.Object> changedState) |
public ClosureEventListener(java.lang.Class<?> domainClazz,
boolean failOnError,
java.util.List failOnErrorPackages)
public ClosureEventListener(java.lang.Class<?> domainClazz,
boolean failOnError,
java.util.List failOnErrorPackages,
org.grails.datastore.gorm.timestamp.TimestampProvider timestampProvider)
public void onSaveOrUpdate(org.hibernate.event.SaveOrUpdateEvent event)
throws org.hibernate.HibernateException
onSaveOrUpdate in interface org.hibernate.event.SaveOrUpdateEventListenerorg.hibernate.HibernateExceptionprotected void synchronizeEntityUpdateActionState(org.hibernate.event.AbstractPreDatabaseOperationEvent event,
java.lang.Object entity,
java.util.HashMap<java.lang.Integer,java.lang.Object> changedState)
public void onPreLoad(org.hibernate.event.PreLoadEvent event)
onPreLoad in interface org.hibernate.event.PreLoadEventListenerpublic void onPostLoad(org.hibernate.event.PostLoadEvent event)
onPostLoad in interface org.hibernate.event.PostLoadEventListenerpublic void onPostInsert(org.hibernate.event.PostInsertEvent event)
onPostInsert in interface org.hibernate.event.PostInsertEventListenerpublic void onPostUpdate(org.hibernate.event.PostUpdateEvent event)
onPostUpdate in interface org.hibernate.event.PostUpdateEventListenerpublic void onPostDelete(org.hibernate.event.PostDeleteEvent event)
onPostDelete in interface org.hibernate.event.PostDeleteEventListenerpublic boolean onPreDelete(org.hibernate.event.PreDeleteEvent event)
onPreDelete in interface org.hibernate.event.PreDeleteEventListenerpublic boolean onPreUpdate(org.hibernate.event.PreUpdateEvent event)
onPreUpdate in interface org.hibernate.event.PreUpdateEventListenerpublic boolean onPreInsert(org.hibernate.event.PreInsertEvent event)
public void onValidate(org.grails.datastore.mapping.engine.event.ValidationEvent event)
protected void handleTimestampingBeforeUpdate(org.hibernate.event.PreUpdateEvent event,
java.lang.Object entity)
protected boolean handleTimestampingBeforeInsert(java.lang.Object entity,
boolean synchronizeState)