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

java.lang.Object
  extended by org.codehaus.groovy.grails.commons.metaclass.AbstractStaticMethodInvocation
      extended by org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod
          extended by org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod
              extended by org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractFindByPersistentMethod
All Implemented Interfaces:
org.codehaus.groovy.grails.commons.metaclass.StaticMethodInvocation, org.grails.datastore.gorm.finders.FinderMethod
Direct Known Subclasses:
FindByPersistentMethod, FindOrCreateByPersistentMethod

public abstract class AbstractFindByPersistentMethod
extends AbstractClausedStaticPersistentMethod


Nested Class Summary
 
Nested classes/interfaces inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod
AbstractClausedStaticPersistentMethod.GrailsMethodExpression
 
Field Summary
static java.lang.String OPERATOR_AND
           
static java.lang.String OPERATOR_OR
           
static java.lang.String[] OPERATORS
           
 
Fields inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod
application
 
Constructor Summary
AbstractFindByPersistentMethod(HibernateDatastore datastore, org.codehaus.groovy.grails.commons.GrailsApplication application, org.hibernate.SessionFactory sessionFactory, java.lang.ClassLoader classLoader, java.util.regex.Pattern pattern, java.lang.String[] operators)
           
 
Method Summary
protected  org.hibernate.Criteria buildCriteria(org.hibernate.Session session, grails.gorm.DetachedCriteria detachedCriteria, groovy.lang.Closure additionalCriteria, java.lang.Class clazz, java.lang.Object[] arguments, java.lang.String operator, java.util.List expressions)
           
protected  java.lang.Object doInvokeInternalWithExpressions(java.lang.Class clazz, java.lang.String methodName, java.lang.Object[] arguments, java.util.List expressions, java.lang.String operatorInUse, grails.gorm.DetachedCriteria detachedCriteria, groovy.lang.Closure additionalCriteria)
           
protected  boolean firstExpressionIsRequiredBoolean()
          Indicates if the first expression in the query is a required boolean property and as such should be ANDed to the other expressions, not ORed.
protected  java.lang.Object getResult(org.hibernate.Criteria crit)
           
 
Methods inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod
doInvokeInternal, doInvokeInternal, doInvokeInternal
 
Methods inherited from class org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod
getCriteria, getHibernateTemplate, invoke, invoke, invoke
 
Methods inherited from class org.codehaus.groovy.grails.commons.metaclass.AbstractStaticMethodInvocation
getPattern, isMethodMatch, setPattern, setPattern, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.grails.datastore.gorm.finders.FinderMethod
isMethodMatch, setPattern
 

Field Detail

OPERATOR_OR

public static final java.lang.String OPERATOR_OR
See Also:
Constant Field Values

OPERATOR_AND

public static final java.lang.String OPERATOR_AND
See Also:
Constant Field Values

OPERATORS

public static final java.lang.String[] OPERATORS
Constructor Detail

AbstractFindByPersistentMethod

public AbstractFindByPersistentMethod(HibernateDatastore datastore,
                                      org.codehaus.groovy.grails.commons.GrailsApplication application,
                                      org.hibernate.SessionFactory sessionFactory,
                                      java.lang.ClassLoader classLoader,
                                      java.util.regex.Pattern pattern,
                                      java.lang.String[] operators)
Method Detail

doInvokeInternalWithExpressions

protected java.lang.Object doInvokeInternalWithExpressions(java.lang.Class clazz,
                                                           java.lang.String methodName,
                                                           java.lang.Object[] arguments,
                                                           java.util.List expressions,
                                                           java.lang.String operatorInUse,
                                                           grails.gorm.DetachedCriteria detachedCriteria,
                                                           groovy.lang.Closure additionalCriteria)
Specified by:
doInvokeInternalWithExpressions in class AbstractClausedStaticPersistentMethod

getResult

protected java.lang.Object getResult(org.hibernate.Criteria crit)

buildCriteria

protected org.hibernate.Criteria buildCriteria(org.hibernate.Session session,
                                               grails.gorm.DetachedCriteria detachedCriteria,
                                               groovy.lang.Closure additionalCriteria,
                                               java.lang.Class clazz,
                                               java.lang.Object[] arguments,
                                               java.lang.String operator,
                                               java.util.List expressions)

firstExpressionIsRequiredBoolean

protected boolean firstExpressionIsRequiredBoolean()
Indicates if the first expression in the query is a required boolean property and as such should be ANDed to the other expressions, not ORed.

Returns:
true if the first expression is a required boolean property, false otherwise
See Also:
FindByBooleanPropertyPersistentMethod