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
| Type Params | Return Type | Name and description | 
|---|---|---|
|  | boolean | doesEnhance(org.codehaus.groovy.ast.ClassNode domainClass, org.codehaus.groovy.ast.MethodNode methodNode)Does this service enhancer enhance the method | 
|  | 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