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

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.MergePersistentMethod
All Implemented Interfaces:
DynamicMethodInvocation

public class MergePersistentMethod
extends AbstractSavePersistentMethod

The merge() method follows the semantics of merge which attempts to "merge" an object with a long lived session

Since:
0.3
Author:
Graeme Rocher

Field Summary
static Pattern METHOD_PATTERN
           
static String METHOD_SIGNATURE
           
 
Constructor Summary
MergePersistentMethod(org.hibernate.SessionFactory sessionFactory, ClassLoader classLoader, GrailsApplication application)
           
 
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, setErrorsOnInstance
 
Methods inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod
getHibernateTemplate, invoke, setObjectToReadOnly, setObjectToReadWrite
 
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

MergePersistentMethod

public MergePersistentMethod(org.hibernate.SessionFactory sessionFactory,
                             ClassLoader classLoader,
                             GrailsApplication application)
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