pl.burningice.plugins.image.ast
Class DBImageContainerTransformation

java.lang.Object
  extended by pl.burningice.plugins.image.ast.DBImageContainerTransformation
All Implemented Interfaces:
org.codehaus.groovy.transform.ASTTransformation, org.objectweb.asm.Opcodes

public class DBImageContainerTransformation
extends Object

Class execute transformation of objects marked by DBImageContainer annotation

Author:
pawel.gdula@burningice.pl

Field Summary
protected static String DEFAULT_FIELD_NAME
           
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7
 
Constructor Summary
DBImageContainerTransformation()
           
 
Method Summary
protected  void addGetter(org.codehaus.groovy.ast.FieldNode fieldNode, org.codehaus.groovy.ast.ClassNode owner)
           
protected  void addGetter(org.codehaus.groovy.ast.FieldNode fieldNode, org.codehaus.groovy.ast.ClassNode owner, int modifier)
           
protected  void addGetter(String name, org.codehaus.groovy.ast.FieldNode fieldNode, org.codehaus.groovy.ast.ClassNode owner)
           
protected  void addGetter(String name, org.codehaus.groovy.ast.FieldNode fieldNode, org.codehaus.groovy.ast.ClassNode owner, int modifier)
           
protected  void addImageValidator(org.codehaus.groovy.ast.ClassNode classNode, String fieldName)
           
protected  void addNullableConstraint(org.codehaus.groovy.ast.ClassNode classNode, String fieldName)
           
protected  void addSetter(org.codehaus.groovy.ast.FieldNode fieldNode, org.codehaus.groovy.ast.ClassNode owner)
           
protected  void addSetter(org.codehaus.groovy.ast.FieldNode fieldNode, org.codehaus.groovy.ast.ClassNode owner, int modifier)
           
protected  void addTransientValue(org.codehaus.groovy.ast.ClassNode node, String transientValue)
           
protected  org.codehaus.groovy.ast.FieldNode getHasManyField(org.codehaus.groovy.ast.ClassNode node)
           
protected  org.codehaus.groovy.ast.FieldNode getTransientsField(org.codehaus.groovy.ast.ClassNode node)
           
protected  boolean hasFieldInClosure(org.codehaus.groovy.ast.FieldNode closure, String fieldName)
           
protected  void log(String message)
           
protected  org.codehaus.groovy.ast.ClassNode nonGeneric(org.codehaus.groovy.ast.ClassNode type)
           
protected  void transformSpecified(org.codehaus.groovy.ast.ClassNode node, String fieldName)
           
 void visit(org.codehaus.groovy.ast.ASTNode[] nodes, org.codehaus.groovy.control.SourceUnit sourceUnit)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_FIELD_NAME

protected static final String DEFAULT_FIELD_NAME
See Also:
Constant Field Values
Constructor Detail

DBImageContainerTransformation

public DBImageContainerTransformation()
Method Detail

transformSpecified

protected void transformSpecified(org.codehaus.groovy.ast.ClassNode node,
                                  String fieldName)

visit

public void visit(org.codehaus.groovy.ast.ASTNode[] nodes,
                  org.codehaus.groovy.control.SourceUnit sourceUnit)
Specified by:
visit in interface org.codehaus.groovy.transform.ASTTransformation

addTransientValue

protected void addTransientValue(org.codehaus.groovy.ast.ClassNode node,
                                 String transientValue)

getTransientsField

protected org.codehaus.groovy.ast.FieldNode getTransientsField(org.codehaus.groovy.ast.ClassNode node)

getHasManyField

protected org.codehaus.groovy.ast.FieldNode getHasManyField(org.codehaus.groovy.ast.ClassNode node)

addImageValidator

protected void addImageValidator(org.codehaus.groovy.ast.ClassNode classNode,
                                 String fieldName)

addNullableConstraint

protected void addNullableConstraint(org.codehaus.groovy.ast.ClassNode classNode,
                                     String fieldName)

hasFieldInClosure

protected boolean hasFieldInClosure(org.codehaus.groovy.ast.FieldNode closure,
                                    String fieldName)

addGetter

protected void addGetter(org.codehaus.groovy.ast.FieldNode fieldNode,
                         org.codehaus.groovy.ast.ClassNode owner)

addGetter

protected void addGetter(String name,
                         org.codehaus.groovy.ast.FieldNode fieldNode,
                         org.codehaus.groovy.ast.ClassNode owner)

addGetter

protected void addGetter(org.codehaus.groovy.ast.FieldNode fieldNode,
                         org.codehaus.groovy.ast.ClassNode owner,
                         int modifier)

addGetter

protected void addGetter(String name,
                         org.codehaus.groovy.ast.FieldNode fieldNode,
                         org.codehaus.groovy.ast.ClassNode owner,
                         int modifier)

addSetter

protected void addSetter(org.codehaus.groovy.ast.FieldNode fieldNode,
                         org.codehaus.groovy.ast.ClassNode owner)

addSetter

protected void addSetter(org.codehaus.groovy.ast.FieldNode fieldNode,
                         org.codehaus.groovy.ast.ClassNode owner,
                         int modifier)

nonGeneric

protected org.codehaus.groovy.ast.ClassNode nonGeneric(org.codehaus.groovy.ast.ClassNode type)

log

protected void log(String message)