com.sun.jdo.api.persistence.enhancer.classfile
Class ClassFile

java.lang.Object
  extended by com.sun.jdo.api.persistence.enhancer.classfile.ClassFile
All Implemented Interfaces:
VMConstants

public final class ClassFile
extends Object
implements VMConstants

ClassFile models the structure of a class as represented within a class file.


Field Summary
static short[][] jdkMajorMinorVersions
           
static List jdkVersions
           
static int magic
           
static String supportedVersions
           
 
Fields inherited from interface com.sun.jdo.api.persistence.enhancer.classfile.VMConstants
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, 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_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, opc_xxxunusedxxx, 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
ClassFile(DataInputStream data)
          Construct a ClassFile from an input stream
ClassFile(String cname, String supername)
          Construct a bare bones class, ready for additions
 
Method Summary
 int access()
          Return the access flags for the class - see VMConstants
 void addField(ClassField field)
          Add a field to the list of the fields which the class contains
 void addField(ClassField field, int index)
          Add a field to the list of the fields which the class contains, at the index'th position.
 void addInterface(ConstClass iface)
          Add an interface to the list of the interfaces which the class implements
 void addMethod(ClassMethod method)
          Add a method to the list of the methods which the class defines
 AttributeVector attributes()
          Return the list of the attributes associated with the class
 ConstClass className()
          Return the name of the class
 Vector fields()
          Return the list of the fields which the class contains The contents are ClassField objects
 ClassField findField(String fieldName)
          Look for a field with the specified name
 ClassMethod findMethod(String methodName, String methodSig)
          Look for a method with the specified name and type signature
 byte[] getBytes()
          Returns a byte array representation of this class.
 Vector interfaces()
          Return the list of the interfaces which the class implements The contents are ConstClass objects
 boolean isAbstract()
          Is the class abstract?
 boolean isFinal()
          Is the class final?
 boolean isInterface()
          Is the class an interface?
 boolean isPublic()
          Is the class public?
 Vector methods()
          Return the list of the methods which the class defines The contents are ClassMethod objects
 ConstantPool pool()
          Return the constant pool for the class file
 void print(PrintStream out)
           
static String printSupportedVersions()
           
 void setAccessFlags(int flags)
          Set the access flags for the class - see VMConstants
 void setSuperName(ConstClass superCl)
          Set the name of the super class
 void summarize()
           
 ConstClass superName()
          Return the name of the super class
 String superNameString()
          Return the name of the super class as a string
 void write(DataOutputStream buff)
          Write the Class file to the data output stream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

magic

public static final int magic
See Also:
Constant Field Values

jdkMajorMinorVersions

public static final short[][] jdkMajorMinorVersions

jdkVersions

public static final List jdkVersions

supportedVersions

public static final String supportedVersions
Constructor Detail

ClassFile

public ClassFile(DataInputStream data)
          throws ClassFormatError
Construct a ClassFile from an input stream

Throws:
ClassFormatError

ClassFile

public ClassFile(String cname,
                 String supername)
Construct a bare bones class, ready for additions

Method Detail

pool

public ConstantPool pool()
Return the constant pool for the class file


access

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


isFinal

public final boolean isFinal()
Is the class final?


isInterface

public final boolean isInterface()
Is the class an interface?


isPublic

public final boolean isPublic()
Is the class public?


isAbstract

public final boolean isAbstract()
Is the class abstract?


setAccessFlags

public void setAccessFlags(int flags)
Set the access flags for the class - see VMConstants


className

public ConstClass className()
Return the name of the class


superName

public ConstClass superName()
Return the name of the super class


superNameString

public String superNameString()
Return the name of the super class as a string


setSuperName

public void setSuperName(ConstClass superCl)
Set the name of the super class


interfaces

public Vector interfaces()
Return the list of the interfaces which the class implements The contents are ConstClass objects


addInterface

public void addInterface(ConstClass iface)
Add an interface to the list of the interfaces which the class implements


fields

public Vector fields()
Return the list of the fields which the class contains The contents are ClassField objects


addField

public void addField(ClassField field)
Add a field to the list of the fields which the class contains


addField

public void addField(ClassField field,
                     int index)
Add a field to the list of the fields which the class contains, at the index'th position.


methods

public Vector methods()
Return the list of the methods which the class defines The contents are ClassMethod objects


findMethod

public ClassMethod findMethod(String methodName,
                              String methodSig)
Look for a method with the specified name and type signature


addMethod

public void addMethod(ClassMethod method)
Add a method to the list of the methods which the class defines


findField

public ClassField findField(String fieldName)
Look for a field with the specified name


attributes

public AttributeVector attributes()
Return the list of the attributes associated with the class


write

public void write(DataOutputStream buff)
           throws IOException
Write the Class file to the data output stream

Throws:
IOException

getBytes

public byte[] getBytes()
                throws IOException
Returns a byte array representation of this class.

Throws:
IOException

print

public void print(PrintStream out)

summarize

public void summarize()

printSupportedVersions

public static final String printSupportedVersions()


Copyright © 2012. All Rights Reserved.