@AnnotationHandlerFor(value=Threading.class) public class ThreadingASTTransformation extends AbstractASTTransformation implements ThreadingAwareConstants, AnnotationHandler
@Threading
annotation.
COLLECTIONS_CLASS, GRIFFON_APPLICATION_TYPE, INJECT_TYPE, NAMED_TYPE
JAVA_UTIL_CONCURRENT_CALLABLE, JAVA_UTIL_CONCURRENT_EXECUTOR_SERVICE, JAVA_UTIL_CONCURRENT_FUTURE, METHOD_IS_UITHREAD, METHOD_RUN_FUTURE, METHOD_RUN_INSIDE_UI_ASYNC, METHOD_RUN_INSIDE_UI_SYNC, METHOD_RUN_OUTSIDE_UI, METHOD_RUN_OUTSIDE_UI_ASYNC, METHODS, THREADING_HANDLER_TYPE, UITHREAD_MANAGER_PROPERTY
APPLICATION, BOOLEAN, GRIFFON_CORE_CALLABLEWITHARGS, GRIFFON_CORE_RUNNABLEWITHARGS, INT, JAVA_LANG_CLASS, JAVA_LANG_OBJECT, JAVA_LANG_RUNNABLE, JAVA_LANG_STRING, JAVA_NET_URL, JAVA_UTIL_COLLECTION, JAVA_UTIL_LIST, JAVA_UTIL_MAP, JAVAX_ANNOTATION_NONNULL, JAVAX_ANNOTATION_NULLABLE, JAVAX_INJECT_INJECT, JAVAX_INJECT_NAMED, NAME, R, T, VOID, WILDCARD
Constructor and Description |
---|
ThreadingASTTransformation() |
Modifier and Type | Method and Description |
---|---|
static Threading.Policy |
getThreadingPolicy(org.codehaus.groovy.ast.AnnotationNode annotation) |
static Threading.Policy |
getThreadingPolicy(org.codehaus.groovy.ast.MethodNode method,
Threading.Policy defaultPolicy) |
static void |
handleMethodForInjection(org.codehaus.groovy.ast.ClassNode classNode,
org.codehaus.groovy.ast.MethodNode method,
String threadingMethod) |
static boolean |
hasThreadingAnnotation(org.codehaus.groovy.ast.AnnotatedNode node)
Convenience method to see if an annotated node is
@Threading . |
void |
visit(org.codehaus.groovy.ast.ASTNode[] nodes,
org.codehaus.groovy.control.SourceUnit source)
Handles the bulk of the processing, mostly delegating to other methods.
|
addDelegateMethods, addError, applicationExpression, applicationProperty, checkNodesForAnnotationAndType, emptyMap, injectApplication, injectedField, injectedField, makeClassSafe, makeClassSafe, makeClassSafe, makeClassSafe0, makeClassSafeWithGenerics, makeClassSafeWithGenerics, makeClassSafeWithGenerics, makeGenericsType, makeGenericsType, makeGenericsType, memberHasValue, needsDelegate, newClass
public static boolean hasThreadingAnnotation(org.codehaus.groovy.ast.AnnotatedNode node)
@Threading
.node
- the node to checkpublic void visit(org.codehaus.groovy.ast.ASTNode[] nodes, org.codehaus.groovy.control.SourceUnit source)
visit
in interface org.codehaus.groovy.transform.ASTTransformation
nodes
- the ast nodessource
- the source unit for the nodespublic static Threading.Policy getThreadingPolicy(org.codehaus.groovy.ast.AnnotationNode annotation)
public static Threading.Policy getThreadingPolicy(org.codehaus.groovy.ast.MethodNode method, Threading.Policy defaultPolicy)
public static void handleMethodForInjection(org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode method, String threadingMethod)