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:
- org.codehaus.groovy.grails.commons.metaclass.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
|
Constructor Summary |
AbstractSavePersistentMethod(java.util.regex.Pattern pattern,
org.hibernate.SessionFactory sessionFactory,
java.lang.ClassLoader classLoader,
org.codehaus.groovy.grails.commons.GrailsApplication application,
org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
HibernateDatastore datastore)
|
AbstractSavePersistentMethod(java.util.regex.Pattern pattern,
org.hibernate.SessionFactory sessionFactory,
java.lang.ClassLoader classLoader,
org.codehaus.groovy.grails.commons.GrailsApplication application,
HibernateDatastore datastore)
|
|
Method Summary |
static void |
clearDisabledValidations()
|
static void |
clearDisabledValidations(java.lang.Object obj)
|
protected java.lang.Object |
doInvokeInternal(java.lang.Object target,
java.lang.Object[] arguments)
|
protected java.lang.Object |
handleValidationError(java.lang.Object target,
org.springframework.validation.Errors errors)
Sets the flush mode to manual. |
static boolean |
isAutoValidationDisabled(java.lang.Object obj)
|
protected abstract java.lang.Object |
performInsert(java.lang.Object target,
boolean shouldFlush)
Subclasses should override and perform an insert operation, flushing the session if the second argument is true |
protected abstract java.lang.Object |
performSave(java.lang.Object target,
boolean shouldFlush)
Subclasses should override and perform a save operation, flushing the session if the second argument is true |
protected void |
setErrorsOnInstance(java.lang.Object target,
org.springframework.validation.Errors errors)
Associates the Errors object on the instance |
| Methods inherited from class org.codehaus.groovy.grails.commons.metaclass.AbstractDynamicMethodInvocation |
getPattern, isMethodMatch, setPattern |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractSavePersistentMethod
public AbstractSavePersistentMethod(java.util.regex.Pattern pattern,
org.hibernate.SessionFactory sessionFactory,
java.lang.ClassLoader classLoader,
org.codehaus.groovy.grails.commons.GrailsApplication application,
org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass,
HibernateDatastore datastore)
AbstractSavePersistentMethod
public AbstractSavePersistentMethod(java.util.regex.Pattern pattern,
org.hibernate.SessionFactory sessionFactory,
java.lang.ClassLoader classLoader,
org.codehaus.groovy.grails.commons.GrailsApplication application,
HibernateDatastore datastore)
isAutoValidationDisabled
public static boolean isAutoValidationDisabled(java.lang.Object obj)
clearDisabledValidations
public static void clearDisabledValidations(java.lang.Object obj)
clearDisabledValidations
public static void clearDisabledValidations()
doInvokeInternal
protected java.lang.Object doInvokeInternal(java.lang.Object target,
java.lang.Object[] arguments)
- Specified by:
doInvokeInternal in class AbstractDynamicPersistentMethod
handleValidationError
protected java.lang.Object handleValidationError(java.lang.Object target,
org.springframework.validation.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(java.lang.Object target,
org.springframework.validation.Errors errors)
- Associates the Errors object on the instance
- Parameters:
target - The target instanceerrors - The Errors object
performSave
protected abstract java.lang.Object performSave(java.lang.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 java.lang.Object performInsert(java.lang.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