Griffon 1.2.0

org.codehaus.griffon.ast
[Java] Class ResourceResolverAwareASTTransformation

java.lang.Object
  org.codehaus.griffon.ast.AbstractASTTransformation
      org.codehaus.griffon.ast.ResourceResolverAwareASTTransformation

@GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
public class ResourceResolverAwareASTTransformation
extends AbstractASTTransformation

Handles generation of code for the @ResourceResolverAware annotation.

Authors:
Andres Almiray


Field Summary
private static String ARGS

private static String DEFAULT_VALUE

private static String KEY

private static String LOCALE

private static ClassNode LOCALE_TYPE

private static Logger LOG

private static String METHOD_RESOLVE_RESOURCE

private static ClassNode NO_SUCH_RESOURCE_EXCEPTION_TYPE

private static ClassNode OBJECT_ARRAY_TYPE

private static ClassNode RESOURCE_RESOLVER_AWARE_TYPE

private static ClassNode RESOURCE_RESOLVER_TYPE

 
Fields inherited from class AbstractASTTransformation
APPLICATION_HOLDER_TYPE, COLLECTIONS_CLASS
 
Constructor Summary
ResourceResolverAwareASTTransformation()

 
Method Summary
static void addResourceLocatorIfNeeded(SourceUnit source, ClassNode classNode)

static void apply(ClassNode declaringClass)

Adds the necessary field and methods to support message resolution.

static boolean hasResourceResolverAwareAnnotation(AnnotatedNode node)

Convenience method to see if an annotated node is @ResourceResolverAware.

protected static boolean needsResourceResolver(ClassNode declaringClass, SourceUnit sourceUnit)

Snoops through the declaring class and all parents looking for methods

  • public Object resolveResource(java.lang.String)
  • public Object resolveResource(java.lang.String, java.util.Locale)
  • public Object resolveResource(java.lang.String, java.lang.Object[])
  • public Object resolveResource(java.lang.String, java.lang.Object[], java.util.Locale)
  • public Object resolveResource(java.lang.String, java.util.List)
  • public Object resolveResource(java.lang.String, java.util.List, java.util.Locale)
  • public Object resolveResource(java.lang.String, java.util.Map)
  • public Object resolveResource(java.lang.String, java.util.Map, java.util.Locale)
  • public Object resolveResource(java.lang.String, java.lang.Object)
  • public Object resolveResource(java.lang.String, java.lang.Object, java.util.Locale)
  • public Object resolveResource(java.lang.String, java.lang.Object[], java.lang.Object)
  • public Object resolveResource(java.lang.String, java.lang.Object[], java.lang.Object, java.util.Locale)
  • public Object resolveResource(java.lang.String, java.util.List, java.lang.Object)
  • public Object resolveResource(java.lang.String, java.util.List, java.lang.Object, java.util.Locale)
  • public Object resolveResource(java.lang.String, java.util.Map, java.lang.Object)
  • public Object resolveResource(java.lang.String, java.util.Map, java.lang.Object, java.util.Locale)
If any are defined all must be defined or a compilation error results.

void visit(ASTNode[] nodes, SourceUnit source)

Handles the bulk of the processing, mostly delegating to other methods.

 
Methods inherited from class AbstractASTTransformation
addError, applicationInstance, checkNodesForAnnotationAndType, emptyMap, makeClassSafe, makeClassSafe, makeClassSafe, newClass
 

Field Detail

ARGS

private static final String ARGS


DEFAULT_VALUE

private static final String DEFAULT_VALUE


KEY

private static final String KEY


LOCALE

private static final String LOCALE


LOCALE_TYPE

private static final ClassNode LOCALE_TYPE


LOG

private static final Logger LOG


METHOD_RESOLVE_RESOURCE

private static final String METHOD_RESOLVE_RESOURCE


NO_SUCH_RESOURCE_EXCEPTION_TYPE

private static final ClassNode NO_SUCH_RESOURCE_EXCEPTION_TYPE


OBJECT_ARRAY_TYPE

private static final ClassNode OBJECT_ARRAY_TYPE


RESOURCE_RESOLVER_AWARE_TYPE

private static final ClassNode RESOURCE_RESOLVER_AWARE_TYPE


RESOURCE_RESOLVER_TYPE

private static final ClassNode RESOURCE_RESOLVER_TYPE


 
Constructor Detail

ResourceResolverAwareASTTransformation

ResourceResolverAwareASTTransformation()


 
Method Detail

addResourceLocatorIfNeeded

public static void addResourceLocatorIfNeeded(SourceUnit source, ClassNode classNode)


apply

public static void apply(ClassNode declaringClass)
Adds the necessary field and methods to support message resolution.

Parameters:
declaringClass - the class to which we add the support field and methods


hasResourceResolverAwareAnnotation

public static boolean hasResourceResolverAwareAnnotation(AnnotatedNode node)
Convenience method to see if an annotated node is @ResourceResolverAware.
Parameters:
node - the node to check
Returns:
true if the node is an event publisher


needsResourceResolver

protected static boolean needsResourceResolver(ClassNode declaringClass, SourceUnit sourceUnit)
Snoops through the declaring class and all parents looking for methodsIf any are defined all must be defined or a compilation error results.
Parameters:
declaringClass - the class to search
sourceUnit - the source unit, for error reporting. @NotNull.
Returns:
true if property change support should be added


visit

public void visit(ASTNode[] nodes, SourceUnit source)
Handles the bulk of the processing, mostly delegating to other methods.
Parameters:
nodes - the ast nodes
source - the source unit for the nodes


 

Groovy Documentation