org.apache.jdo.impl.enhancer.classfile
Class ClassField

java.lang.Object
  extended byorg.apache.jdo.impl.enhancer.classfile.ClassMember
      extended byorg.apache.jdo.impl.enhancer.classfile.ClassField
All Implemented Interfaces:
VMConstants

public final class ClassField
extends ClassMember

ClassField models the static and non-static fields of a class within a class file.


Field Summary
private  int accessFlags
           
private  AttributeVector fieldAttributes
           
private  ConstUtf8 fieldName
           
private  ConstUtf8 fieldSignature
           
 
Fields inherited from interface org.apache.jdo.impl.enhancer.classfile.VMConstants
ACCAbstract, ACCAnnotation, ACCBridge, ACCEnum, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCStrict, ACCSuper, ACCSynchronized, ACCSynthetic, ACCTransient, ACCVarargs, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokedynamic, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
 
Constructor Summary
ClassField(int accFlags, ConstUtf8 name, ConstUtf8 sig, AttributeVector field_attrs)
          Construct a class field object
 
Method Summary
 int access()
          Return the access flags for the field - see VMConstants
 AttributeVector attributes()
          Return the attributes associated with the field
 void changeName(ConstUtf8 name)
          Change the name of the field
 void changeSignature(ConstUtf8 newSig)
          Change the type signature of the field
 SignatureAttribute getSignatureAttribute()
          Returns the SignatureAttribute, if there's any, for this field.
 boolean isTransient()
          Is the field transient?
 ConstUtf8 name()
          Return the name of the field
(package private)  void print(java.io.PrintStream out, int indent)
           
(package private) static ClassField read(java.io.DataInputStream data, ConstantPool pool)
           
 void setAccess(int newFlags)
          Update the access flags for the field - see VMConstants
 ConstUtf8 signature()
          Return the type signature of the field
(package private)  void write(java.io.DataOutputStream data)
           
 
Methods inherited from class org.apache.jdo.impl.enhancer.classfile.ClassMember
isEqual, isFinal, isPrivate, isProtected, isPublic, isStatic, setIsFinal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

accessFlags

private int accessFlags

fieldName

private ConstUtf8 fieldName

fieldSignature

private ConstUtf8 fieldSignature

fieldAttributes

private AttributeVector fieldAttributes
Constructor Detail

ClassField

public ClassField(int accFlags,
                  ConstUtf8 name,
                  ConstUtf8 sig,
                  AttributeVector field_attrs)
Construct a class field object

Method Detail

isTransient

public boolean isTransient()
Is the field transient?


access

public int access()
Return the access flags for the field - see VMConstants

Specified by:
access in class ClassMember

setAccess

public void setAccess(int newFlags)
Update the access flags for the field - see VMConstants

Specified by:
setAccess in class ClassMember

name

public ConstUtf8 name()
Return the name of the field

Specified by:
name in class ClassMember

changeName

public void changeName(ConstUtf8 name)
Change the name of the field


signature

public ConstUtf8 signature()
Return the type signature of the field

Specified by:
signature in class ClassMember

changeSignature

public void changeSignature(ConstUtf8 newSig)
Change the type signature of the field


attributes

public AttributeVector attributes()
Return the attributes associated with the field

Specified by:
attributes in class ClassMember

getSignatureAttribute

public SignatureAttribute getSignatureAttribute()
Returns the SignatureAttribute, if there's any, for this field.


read

static ClassField read(java.io.DataInputStream data,
                       ConstantPool pool)
                throws java.io.IOException
Throws:
java.io.IOException

write

void write(java.io.DataOutputStream data)
     throws java.io.IOException
Throws:
java.io.IOException

print

void print(java.io.PrintStream out,
           int indent)