interface ServiceEnhancer extends ServiceImplementer
Complement to the ServiceImplementer which only runs if another implementer has not already implemented the method. The ServiceEnhancer on other hand will run even if a prior implementer has implemented the method
The interface also allows implementation to differentiate between implementation and enhancement operations
Fields inherited from class | Fields |
---|---|
interface ServiceImplementer |
IMPLEMENTED, RETURN_TYPE |
Type Params | Return Type | Name and description |
---|---|---|
|
abstract boolean |
doesEnhance(org.codehaus.groovy.ast.ClassNode domainClass, org.codehaus.groovy.ast.MethodNode methodNode) Does this service enhancer enhance the method |
|
abstract void |
enhance(org.codehaus.groovy.ast.ClassNode domainClassNode, org.codehaus.groovy.ast.MethodNode abstractMethodNode, org.codehaus.groovy.ast.MethodNode newMethodNode, org.codehaus.groovy.ast.ClassNode targetClassNode) Enhances the method |
Methods inherited from class | Name |
---|---|
interface ServiceImplementer |
doesImplement, implement |
Does this service enhancer enhance the method
domainClass
- The domain class that this implementor applies to. If not known will be equal to ClassHelper.OBJECT_TYPEmethodNode
- The abstract method nodeEnhances the method
targetClassNode
- The target class nodeabstractMethodNode
- The abstract method node to implementnewMethodNode
- The new method node being implemented