@java.lang.SuppressWarnings("rawtypes")
public abstract class AbstractGrailsArtefactTransformer
extends java.lang.Object
    Abstract transformer that takes an implementation class and creates methods in a target ClassNode that delegate to that implementation class. Subclasses should override to provide the implementation class details
| Modifiers | Name | Description | 
|---|---|---|
| static java.lang.String | CURRENT_PREFIX | |
| static java.lang.String | METHOD_MISSING_METHOD_NAME | |
| protected static org.codehaus.groovy.ast.ClassNode | OBJECT_CLASS | |
| static int | PUBLIC_STATIC_MODIFIER | |
| static java.lang.String | STATIC_METHOD_MISSING_METHOD_NAME | 
| Type Params | Return Type | Name and description | 
|---|---|---|
|  | protected void | addApiLookupFieldAndSetter(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.ClassNode implementationNode, java.lang.String apiProperty, org.codehaus.groovy.ast.expr.Expression initialValueExpression) | 
|  | protected void | addDelegateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.expr.Expression delegate, org.codehaus.groovy.ast.MethodNode declaredMethod, org.codehaus.groovy.ast.AnnotationNode markerAnnotation, java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> genericsPlaceholders) | 
|  | protected void | addDelegateStaticMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.expr.MethodCallExpression apiLookupMethod, org.codehaus.groovy.ast.MethodNode declaredMethod, java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> genericsPlaceholders) | 
|  | protected void | addEnhancedAnnotation(org.codehaus.groovy.ast.ClassNode classNode) | 
|  | static void | addToTransformedClasses(java.lang.String name) | 
|  | void | clearCachedState() | 
|  | int | compareTo(java.lang.Object o)Used for ordering not equality. | 
|  | protected java.lang.String | getArtefactType() | 
|  | java.lang.String[] | getArtefactTypes() | 
|  | java.lang.Class | getInstanceImplementation()The class that provides the implementation of all instance methods and properties | 
|  | protected org.codehaus.groovy.ast.AnnotationNode | getMarkerAnnotation()A marker annotation to be applied to added methods, defaults to null | 
|  | java.lang.Class | getStaticImplementation()The class that provides static methods | 
|  | static java.util.Collection<java.lang.String> | getTransformedClassNames() | 
|  | protected boolean | hasArtefactAnnotation(org.codehaus.groovy.ast.ClassNode classNode) | 
|  | protected boolean | isCandidateInstanceMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode declaredMethod) | 
|  | protected boolean | isStaticCandidateMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode declaredMethod) | 
|  | protected boolean | isStaticMethodExcluded(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode declaredMethod) | 
|  | protected boolean | isStaticMethodIncluded(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode declaredMethod) | 
|  | protected boolean | isValidArtefactType() | 
|  | protected boolean | isValidTargetClassNode(org.codehaus.groovy.ast.ClassNode classNode) | 
|  | void | performInjection(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.classgen.GeneratorContext context, org.codehaus.groovy.ast.ClassNode classNode) | 
|  | void | performInjection(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode) | 
|  | protected void | performInjectionInternal(java.lang.String apiInstanceProperty, org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode)Subclasses can override to provide additional transformation | 
|  | void | performInjectionOnAnnotatedClass(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode) | 
|  | void | performInjectionOnAnnotatedClass(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.classgen.GeneratorContext context, org.codehaus.groovy.ast.ClassNode classNode) | 
|  | protected void | performInstanceImplementationInjection(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode, java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> genericsPlaceholders, java.lang.Class instanceImplementation) | 
|  | protected void | performStaticImplementationInjection(org.codehaus.groovy.ast.ClassNode classNode, java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> genericsPlaceholders, java.lang.Class staticImplementation) | 
|  | protected org.codehaus.groovy.ast.MethodNode | populateAutowiredApiLookupMethod(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.ClassNode implementationNode, java.lang.String apiProperty, java.lang.String methodName, org.codehaus.groovy.ast.stmt.BlockStatement methodBody) | 
|  | protected org.codehaus.groovy.ast.MethodNode | populateDefaultApiLookupMethod(org.codehaus.groovy.ast.ClassNode implementationNode, java.lang.String apiInstanceProperty, java.lang.String methodName, org.codehaus.groovy.ast.stmt.BlockStatement methodBody) | 
|  | protected boolean | requiresAutowiring()If the API requires autowiring then a 
 | 
|  | protected boolean | requiresStaticLookupMethod()Subclasses should override in the instance API requires a static lookup method instead of autowiring. | 
|  | protected java.util.Map<java.lang.String, org.codehaus.groovy.ast.ClassNode> | resolveGenericsPlaceHolders(org.codehaus.groovy.ast.ClassNode classNode) | 
|  | protected boolean | shouldSkipInjection(org.codehaus.groovy.ast.ClassNode classNode) | 
| Methods inherited from class | Name | 
|---|---|
| class java.lang.Object | java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() | 
Used for ordering not equality. Note: this class has a natural ordering that is inconsistent with equals.
The class that provides the implementation of all instance methods and properties
A marker annotation to be applied to added methods, defaults to null
The class that provides static methods
Subclasses can override to provide additional transformation
source -  The sourceclassNode -  The class nodeIf the API requires autowiring then a
Subclasses should override in the instance API requires a static lookup method instead of autowiring. Defaults to false.