org.codehaus.groovy.grails.orm.hibernate.metaclass
Class AbstractSavePersistentMethod
java.lang.Object
org.codehaus.groovy.grails.commons.metaclass.AbstractDynamicMethodInvocation
org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod
org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractSavePersistentMethod
- All Implemented Interfaces:
- DynamicMethodInvocation
- Direct Known Subclasses:
- MergePersistentMethod, SavePersistentMethod
public abstract class AbstractSavePersistentMethod
- extends AbstractDynamicPersistentMethod
Abstract class for different implementations that perform saving to implement.
- Since:
- 0.3
- Author:
- Graeme Rocher
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractSavePersistentMethod
public AbstractSavePersistentMethod(Pattern pattern,
org.hibernate.SessionFactory sessionFactory,
ClassLoader classLoader,
GrailsApplication application,
GrailsDomainClass domainClass)
AbstractSavePersistentMethod
public AbstractSavePersistentMethod(Pattern pattern,
org.hibernate.SessionFactory sessionFactory,
ClassLoader classLoader,
GrailsApplication application)
isAutoValidationDisabled
public static boolean isAutoValidationDisabled(Object obj)
doInvokeInternal
protected Object doInvokeInternal(Object target,
Object[] arguments)
- Specified by:
doInvokeInternal
in class AbstractDynamicPersistentMethod
handleValidationError
protected Object handleValidationError(Object target,
Errors errors)
- Sets the flush mode to manual. which ensures that the database changes are not persisted to the database
if a validation error occurs. If save() is called again and validation passes the code will check if there
is a manual flush mode and flush manually if necessary
- Parameters:
target
- The target object that failed validationerrors
- The Errors instance
- Returns:
- This method will return null signaling a validation failure
setErrorsOnInstance
protected void setErrorsOnInstance(Object target,
Errors errors)
- Associates the Errors object on the instance
- Parameters:
target
- The target instanceerrors
- The Errors object
performSave
protected abstract Object performSave(Object target,
boolean shouldFlush)
- Subclasses should override and perform a save operation, flushing the session if the second argument is true
- Parameters:
target
- The target object to saveshouldFlush
- Whether to flush
- Returns:
- The target object
performInsert
protected abstract Object performInsert(Object target,
boolean shouldFlush)
- Subclasses should override and perform an insert operation, flushing the session if the second argument is true
- Parameters:
target
- The target object to saveshouldFlush
- Whether to flush
- Returns:
- The target object