public class FieldMeta extends Object implements Opcodes, EnhanceConstants
This can then generate the appropriate byte code for this field.
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASM7, 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, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, 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, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V9BEANLIST, BEANMAP, BEANSET, C_BEANCOLLECTION, C_ENHANCEDTRANSACTIONAL, C_ENTITYBEAN, C_GROOVYOBJECT, C_INTERCEPT, C_MODEL, C_OBJECT, C_PERSISTBATCH, C_SCALAOBJECT, C_TXISOLATION, C_TXSCOPE, C_TXTYPE, CLINIT, DOCSTORE_ANNOTATION, EMBEDDABLE_ANNOTATION, ENTITY_ANNOTATION, IDENTITY_FIELD, INIT, INTERCEPT_FIELD, JAVAX_PERSISTENCE, L_DRAFT, L_EBEAN_NOTNULL, L_HELPSCOPETRANS, L_INTERCEPT, L_JETBRAINS_NOTNULL, L_OBJECT, L_STRING, MAPPEDSUPERCLASS_ANNOTATION, MOCKITO_INTERCEPTOR, NOARG_VOID, TRANSACTIONAL_ANNOTATION, TYPEQUERYBEAN_ANNOTATION| Constructor and Description |
|---|
FieldMeta(ClassMeta classMeta,
String name,
String desc,
String fieldClass)
Construct based on field name and desc from reading byte code.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addGetSetMethods(ClassVisitor cv,
ClassMeta classMeta)
Add get and set methods for field access/interception.
|
String |
getFieldName()
Return the field name.
|
String |
getName()
Return the field name.
|
boolean |
isId()
Return true if this is an ID field.
|
boolean |
isMany()
Return true if this is a OneToMany or ManyToMany field.
|
boolean |
isObjectArray()
Return true if this field type is an Array of Objects.
|
boolean |
isPersistent()
Return true is this is a persistent field.
|
boolean |
isPrimitiveType()
Return true if this is a primitiveType.
|
boolean |
isTransient()
Return true if this is a transient field.
|
void |
setIndexPosition(int indexPosition) |
String |
toString() |
public void setIndexPosition(int indexPosition)
public String getFieldName()
public boolean isPrimitiveType()
public boolean isObjectArray()
We can not support Object Arrays for field types.
public boolean isPersistent()
public boolean isTransient()
public boolean isId()
ID fields are used in generating equals() logic based on identity.
public boolean isMany()
public void addGetSetMethods(ClassVisitor cv, ClassMeta classMeta)
Copyright © 2019. All rights reserved.