|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.groovy.grails.transaction.transform.TransactionalTransform
@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.
Field Summary | |
---|---|
static org.codehaus.groovy.ast.ClassNode |
MY_TYPE
|
Method Summary | |
---|---|
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)
|
org.codehaus.groovy.ast.ClassNode
|
getAnnotationClassNode(java.lang.String annotationName)
|
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 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() |
Field Detail |
---|
public static final org.codehaus.groovy.ast.ClassNode MY_TYPE
Method Detail |
---|
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)
org.codehaus.groovy.ast.ClassNode getAnnotationClassNode(java.lang.String annotationName)
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)
@java.lang.Override 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)
Groovy Documentation