public abstract class DynamicFinder extends AbstractFinder implements QueryBuildingFinder
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ARGUMENT_CACHE |
static java.lang.String |
ARGUMENT_FETCH |
static java.lang.String |
ARGUMENT_IGNORE_CASE |
static java.lang.String |
ARGUMENT_LOCK |
static java.lang.String |
ARGUMENT_MAX |
static java.lang.String |
ARGUMENT_OFFSET |
static java.lang.String |
ARGUMENT_ORDER |
static java.lang.String |
ARGUMENT_SORT |
static java.lang.String |
ORDER_ASC |
static java.lang.String |
ORDER_DESC |
protected java.util.regex.Pattern |
pattern |
datastore| Modifier | Constructor and Description |
|---|---|
protected |
DynamicFinder(java.util.regex.Pattern pattern,
java.lang.String[] operators,
org.grails.datastore.mapping.core.Datastore datastore) |
| Modifier and Type | Method and Description |
|---|---|
static void |
applyDetachedCriteria(org.grails.datastore.mapping.query.Query q,
grails.gorm.DetachedCriteria detachedCriteria) |
protected void |
configureQueryWithArguments(java.lang.Class clazz,
org.grails.datastore.mapping.query.Query query,
java.lang.Object[] arguments) |
DynamicFinderInvocation |
createFinderInvocation(java.lang.Class clazz,
java.lang.String methodName,
groovy.lang.Closure additionalCriteria,
java.lang.Object[] arguments) |
protected abstract java.lang.Object |
doInvokeInternal(DynamicFinderInvocation invocation) |
protected MethodExpression |
findMethodExpression(java.lang.Class clazz,
java.lang.String expression) |
static javax.persistence.FetchType |
getFetchMode(java.lang.Object object)
Retrieves the fetch mode for the specified instance; otherwise returns the default FetchMode.
|
java.lang.Object |
invoke(java.lang.Class clazz,
java.lang.String methodName,
groovy.lang.Closure additionalCriteria,
java.lang.Object[] arguments)
Invokes the method
|
java.lang.Object |
invoke(java.lang.Class clazz,
java.lang.String methodName,
grails.gorm.DetachedCriteria detachedCriteria,
java.lang.Object[] arguments) |
java.lang.Object |
invoke(java.lang.Class clazz,
java.lang.String methodName,
java.lang.Object[] arguments)
Invokes the method
|
boolean |
isMethodMatch(java.lang.String methodName)
Whether the given method name matches this finder
|
static void |
populateArgumentsForCriteria(java.lang.Class<?> targetClass,
org.grails.datastore.mapping.query.Query q,
java.util.Map argMap) |
static void |
registerNewMethodExpression(java.lang.Class methodExpression)
Registers a new method expression.
|
void |
setPattern(java.lang.String pattern) |
applyAdditionalCriteria, execute, executeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuildQuerypublic static final java.lang.String ARGUMENT_MAX
public static final java.lang.String ARGUMENT_OFFSET
public static final java.lang.String ARGUMENT_ORDER
public static final java.lang.String ARGUMENT_SORT
public static final java.lang.String ORDER_DESC
public static final java.lang.String ORDER_ASC
public static final java.lang.String ARGUMENT_FETCH
public static final java.lang.String ARGUMENT_IGNORE_CASE
public static final java.lang.String ARGUMENT_CACHE
public static final java.lang.String ARGUMENT_LOCK
protected java.util.regex.Pattern pattern
protected DynamicFinder(java.util.regex.Pattern pattern,
java.lang.String[] operators,
org.grails.datastore.mapping.core.Datastore datastore)
public static void registerNewMethodExpression(java.lang.Class methodExpression)
MethodExpression and provide
a constructor that accepts a Class parameter and a String parameter.methodExpression - A class that extends from MethodExpressionpublic void setPattern(java.lang.String pattern)
setPattern in interface FinderMethodpattern - A regular expressionpublic boolean isMethodMatch(java.lang.String methodName)
FinderMethodisMethodMatch in interface FinderMethodmethodName - The method namepublic java.lang.Object invoke(java.lang.Class clazz,
java.lang.String methodName,
groovy.lang.Closure additionalCriteria,
java.lang.Object[] arguments)
FinderMethodinvoke in interface FinderMethodclazz - The classmethodName - The method nameadditionalCriteria - additional criteria closurearguments - The argumentspublic java.lang.Object invoke(java.lang.Class clazz,
java.lang.String methodName,
grails.gorm.DetachedCriteria detachedCriteria,
java.lang.Object[] arguments)
public DynamicFinderInvocation createFinderInvocation(java.lang.Class clazz, java.lang.String methodName, groovy.lang.Closure additionalCriteria, java.lang.Object[] arguments)
protected MethodExpression findMethodExpression(java.lang.Class clazz, java.lang.String expression)
protected abstract java.lang.Object doInvokeInternal(DynamicFinderInvocation invocation)
public java.lang.Object invoke(java.lang.Class clazz,
java.lang.String methodName,
java.lang.Object[] arguments)
FinderMethodinvoke in interface FinderMethodclazz - The classmethodName - The method namearguments - The argumentspublic static void populateArgumentsForCriteria(java.lang.Class<?> targetClass,
org.grails.datastore.mapping.query.Query q,
java.util.Map argMap)
public static javax.persistence.FetchType getFetchMode(java.lang.Object object)
object - The object, converted to a stringprotected void configureQueryWithArguments(java.lang.Class clazz,
org.grails.datastore.mapping.query.Query query,
java.lang.Object[] arguments)
public static void applyDetachedCriteria(org.grails.datastore.mapping.query.Query q,
grails.gorm.DetachedCriteria detachedCriteria)