org.codehaus.groovy.grails.compiler.web
Class ControllerTransformer

java.lang.Object
  extended by org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer
      extended by org.codehaus.groovy.grails.compiler.web.ControllerTransformer
All Implemented Interfaces:
java.lang.Comparable, org.codehaus.groovy.grails.compiler.injection.AnnotatedClassInjector, org.codehaus.groovy.grails.compiler.injection.ClassInjector, org.codehaus.groovy.grails.compiler.injection.GrailsArtefactClassInjector

public class ControllerTransformer
extends org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

Enhances controller classes with the appropriate API at compile time.

Since:
2.0

Field Summary
static java.util.regex.Pattern CONTROLLER_PATTERN
           
 
Fields inherited from class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer
CURRENT_PREFIX, METHOD_MISSING_METHOD_NAME, OBJECT_CLASS, PUBLIC_STATIC_MODIFIER, STATIC_METHOD_MISSING_METHOD_NAME, THIS_EXPRESSION
 
Fields inherited from interface org.codehaus.groovy.grails.compiler.injection.GrailsArtefactClassInjector
EMPTY_CLASS_ARRAY, ZERO_ARGS, ZERO_PARAMETERS
 
Fields inherited from interface org.codehaus.groovy.grails.compiler.injection.ClassInjector
PRIVATE_STATIC_MODIFIER
 
Constructor Summary
ControllerTransformer()
           
 
Method Summary
protected  java.lang.String getArtefactType()
           
 java.lang.Class<?> getInstanceImplementation()
           
protected  org.codehaus.groovy.ast.AnnotationNode getMarkerAnnotation()
           
 java.lang.Class<?> getStaticImplementation()
           
protected  boolean isControllerClassNode(org.codehaus.groovy.ast.ClassNode classNode)
           
 void performInjection(org.codehaus.groovy.control.SourceUnit source, 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)
           
protected  void performInjectionInternal(java.lang.String apiInstanceProperty, org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode)
           
 boolean shouldInject(java.net.URL url)
           
 
Methods inherited from class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer
addDelegateInstanceMethod, addDelegateStaticMethod, compareTo, getArtefactTypes, isCandidateInstanceMethod, isStaticCandidateMethod, performInjectionOnAnnotatedClass, performInjectionOnAnnotatedClass, populateAutowiredApiLookupMethod, populateDefaultApiLookupMethod, requiresAutowiring, requiresStaticLookupMethod, resolveGenericsPlaceHolders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONTROLLER_PATTERN

public static java.util.regex.Pattern CONTROLLER_PATTERN
Constructor Detail

ControllerTransformer

public ControllerTransformer()
Method Detail

getInstanceImplementation

public java.lang.Class<?> getInstanceImplementation()
Specified by:
getInstanceImplementation in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

getStaticImplementation

public java.lang.Class<?> getStaticImplementation()
Specified by:
getStaticImplementation in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

shouldInject

public boolean shouldInject(java.net.URL url)

performInjectionInternal

protected void performInjectionInternal(java.lang.String apiInstanceProperty,
                                        org.codehaus.groovy.control.SourceUnit source,
                                        org.codehaus.groovy.ast.ClassNode classNode)
Overrides:
performInjectionInternal in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

getMarkerAnnotation

protected org.codehaus.groovy.ast.AnnotationNode getMarkerAnnotation()
Overrides:
getMarkerAnnotation in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

getArtefactType

protected java.lang.String getArtefactType()
Overrides:
getArtefactType in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

performInjection

public void performInjection(org.codehaus.groovy.control.SourceUnit source,
                             org.codehaus.groovy.classgen.GeneratorContext context,
                             org.codehaus.groovy.ast.ClassNode classNode)
Specified by:
performInjection in interface org.codehaus.groovy.grails.compiler.injection.ClassInjector
Overrides:
performInjection in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

performInjection

public void performInjection(org.codehaus.groovy.control.SourceUnit source,
                             org.codehaus.groovy.ast.ClassNode classNode)
Specified by:
performInjection in interface org.codehaus.groovy.grails.compiler.injection.ClassInjector
Overrides:
performInjection in class org.codehaus.groovy.grails.compiler.injection.AbstractGrailsArtefactTransformer

isControllerClassNode

protected boolean isControllerClassNode(org.codehaus.groovy.ast.ClassNode classNode)