org.codehaus.groovy.grails.orm.hibernate.metaclass
Class SavePersistentMethod

java.lang.Object
  extended by org.codehaus.groovy.grails.commons.metaclass.AbstractDynamicMethodInvocation
      extended by org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod
          extended by org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractSavePersistentMethod
              extended by org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod
All Implemented Interfaces:
DynamicMethodInvocation

public class SavePersistentMethod
extends AbstractSavePersistentMethod

This method follows the semantics of saveOrUpdate of scheduling the object for persistence when a flush occurs.

Since:
0.1 Created: Aug 7, 2005
Author:
Steven Devijver, Graeme Rocher

Field Summary
static Pattern METHOD_PATTERN
           
static String METHOD_SIGNATURE
           
 
Fields inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod
ERRORS_PROPERTY
 
Constructor Summary
SavePersistentMethod(org.hibernate.SessionFactory sessionFactory, ClassLoader classLoader, GrailsApplication application)
           
SavePersistentMethod(org.hibernate.SessionFactory sessionFactory, ClassLoader classLoader, GrailsApplication application, GrailsDomainClass domainClass)
           
 
Method Summary
protected  Object performInsert(Object target, boolean shouldFlush)
          Subclasses should override and perform an insert operation, flushing the session if the second argument is true
protected  Object performSave(Object target, boolean flush)
          Subclasses should override and perform a save operation, flushing the session if the second argument is true
 
Methods inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractSavePersistentMethod
doInvokeInternal, handleValidationError, isAutoValidationDisabled, setErrorsOnInstance
 
Methods inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod
getHibernateTemplate, invoke, setObjectToReadOnly, setObjectToReadWrite, setupErrorsProperty
 
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
 

Field Detail

METHOD_SIGNATURE

public static final String METHOD_SIGNATURE
See Also:
Constant Field Values

METHOD_PATTERN

public static final Pattern METHOD_PATTERN
Constructor Detail

SavePersistentMethod

public SavePersistentMethod(org.hibernate.SessionFactory sessionFactory,
                            ClassLoader classLoader,
                            GrailsApplication application)

SavePersistentMethod

public SavePersistentMethod(org.hibernate.SessionFactory sessionFactory,
                            ClassLoader classLoader,
                            GrailsApplication application,
                            GrailsDomainClass domainClass)
Method Detail

performSave

protected Object performSave(Object target,
                             boolean flush)
Description copied from class: AbstractSavePersistentMethod
Subclasses should override and perform a save operation, flushing the session if the second argument is true

Specified by:
performSave in class AbstractSavePersistentMethod
Parameters:
target - The target object to save
flush - Whether to flush
Returns:
The target object

performInsert

protected Object performInsert(Object target,
                               boolean shouldFlush)
Description copied from class: AbstractSavePersistentMethod
Subclasses should override and perform an insert operation, flushing the session if the second argument is true

Specified by:
performInsert in class AbstractSavePersistentMethod
Parameters:
target - The target object to save
shouldFlush - Whether to flush
Returns:
The target object


Copyright (c) 2005-2009 The Grails project