@CompileStatic abstract class AbstractDetachedCriteriaServiceImplementor extends AbstractReadOperationImplementer
An abstract implementer that builds a detached criteria query from the method arguments
| Modifiers | Name | Description |
|---|---|---|
static ClassNode |
DETACHED_CRITERIA |
| Constructor and description |
|---|
AbstractDetachedCriteriaServiceImplementor() |
| Type Params | Return Type | Name and description |
|---|---|---|
|
void |
doImplement(ClassNode domainClassNode, MethodNode abstractMethodNode, MethodNode newMethodNode, ClassNode targetClassNode) |
|
protected ClassNode |
getDetachedCriteriaType(ClassNode domainClassNode) |
|
abstract void |
implementById(ClassNode domainClassNode, MethodNode abstractMethodNode, MethodNode newMethodNode, ClassNode targetClassNode, BlockStatement body, Expression byIdLookup)Provide an implementation in the case querying for a single instance by id |
|
abstract void |
implementWithQuery(ClassNode domainClassNode, MethodNode abstractMethodNode, MethodNode newMethodNode, ClassNode targetClassNode, BlockStatement body, VariableExpression detachedCriteriaVar, Expression queryArgs)Provide an implementation in the case of a query |
|
protected boolean |
lookupById() |
| Methods inherited from class | Name |
|---|---|
class AbstractReadOperationImplementer |
applyDefaultTransactionHandling, doImplement, doesEnhance, enhance, findArgsExpression, implement, resolveDomainClassFromSignature |
class AbstractServiceImplementer |
buildInstanceApiLookup, buildStaticApiLookup, copyClassAnnotations, datastore, doesImplement, findConnectionId, findStaticApiForConnectionId, getOrder, isCompatibleReturnType, isValidParameter, multiTenantDatastore, resolvePrefix, tenantService |
Provide an implementation in the case querying for a single instance by id
domainClassNode - The domain classabstractMethodNode - the abstract methodnewMethodNode - The newly added methodtargetClassNode - The target classbody - The bodybyIdLookup - The expression that looks up the object by idProvide an implementation in the case of a query
domainClassNode - The domain classabstractMethodNode - the abstract methodnewMethodNode - The newly added methodtargetClassNode - The target classbody - The bodydetachedCriteriaVar - The detached criteria queryqueryArgs - Any arguments to the query