@groovy.transform.CompileStatic @org.codehaus.groovy.transform.GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION) class TransactionalTransform extends java.lang.Object
This AST transform reads the Transactional annotation and transforms method calls by wrapping the body of the method in an execution of GrailsTransactionTemplate.
Modifiers | Name | Description |
---|---|---|
static org.codehaus.groovy.ast.ClassNode |
COMPILE_STATIC_TYPE |
|
static org.codehaus.groovy.ast.ClassNode |
MY_TYPE |
|
static org.codehaus.groovy.ast.ClassNode |
TYPE_CHECKED_TYPE |
Type Params | Return Type | Name and description |
---|---|---|
|
protected java.lang.Object |
applyTransactionalAttributeSettings(org.codehaus.groovy.ast.AnnotationNode annotationNode, org.codehaus.groovy.ast.expr.VariableExpression transactionAttributeVar, org.codehaus.groovy.ast.stmt.BlockStatement methodBody) |
|
protected org.codehaus.groovy.ast.stmt.Statement |
createTransactionalMethodCallBody(org.codehaus.groovy.ast.Parameter transactionStatusParam, org.codehaus.groovy.ast.expr.MethodCallExpression originalMethodCall) |
|
org.codehaus.groovy.ast.ClassNode |
getAnnotationClassNode(java.lang.String annotationName) |
|
static java.lang.String |
getTransactionHandlingMethodName(org.codehaus.groovy.ast.MethodNode methodNode) |
|
protected java.lang.String |
getTransactionTemplateMethodName() |
|
protected boolean |
isTransactionAnnotation(org.codehaus.groovy.ast.AnnotationNode annotationNode) |
|
protected org.codehaus.groovy.ast.expr.MethodCallExpression |
moveOriginalCodeToNewMethod(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.MethodNode methodNode) |
|
void |
visit(org.codehaus.groovy.ast.ASTNode[] astNodes, org.codehaus.groovy.control.SourceUnit source) |
|
protected void |
weaveTransactionManagerAware(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode declaringClassNode) |
|
void |
weaveTransactionalBehavior(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.AnnotationNode annotationNode) |
|
protected void |
weaveTransactionalMethod(org.codehaus.groovy.control.SourceUnit source, org.codehaus.groovy.ast.ClassNode classNode, org.codehaus.groovy.ast.AnnotationNode annotationNode, org.codehaus.groovy.ast.MethodNode methodNode) |
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() |