Class ClassFile
java.lang.Object
com.sun.jdo.api.persistence.enhancer.classfile.ClassFile
- All Implemented Interfaces:
VMConstants
ClassFile models the structure of a class as represented within
a class file.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final short[][]static final Liststatic final intstatic final StringFields 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
ConstructorsConstructorDescriptionClassFile(DataInputStream data) Construct a ClassFile from an input streamConstruct a bare bones class, ready for additions -
Method Summary
Modifier and TypeMethodDescriptionintaccess()Return the access flags for the class - see VMConstantsvoidaddField(ClassField field) Add a field to the list of the fields which the class containsvoidaddField(ClassField field, int index) Add a field to the list of the fields which the class contains, at the index'th position.voidaddInterface(ConstClass iface) Add an interface to the list of the interfaces which the class implementsvoidaddMethod(ClassMethod method) Add a method to the list of the methods which the class definesReturn the list of the attributes associated with the classReturn the name of the classfields()Return the list of the fields which the class contains The contents are ClassField objectsLook for a field with the specified namefindMethod(String methodName, String methodSig) Look for a method with the specified name and type signaturebyte[]getBytes()Returns a byte array representation of this class.Return the list of the interfaces which the class implements The contents are ConstClass objectsfinal booleanIs the class abstract?final booleanisFinal()Is the class final?final booleanIs the class an interface?final booleanisPublic()Is the class public?methods()Return the list of the methods which the class defines The contents are ClassMethod objectspool()Return the constant pool for the class filevoidprint(PrintStream out) static final StringvoidsetAccessFlags(int flags) Set the access flags for the class - see VMConstantsvoidsetSuperName(ConstClass superCl) Set the name of the super classvoidReturn the name of the super classReturn the name of the super class as a stringvoidwrite(DataOutputStream buff) Write the Class file to the data output stream
-
Field Details
-
magic
public static final int magic- See Also:
-
jdkMajorMinorVersions
public static final short[][] jdkMajorMinorVersions -
jdkVersions
-
supportedVersions
-
-
Constructor Details
-
ClassFile
Construct a ClassFile from an input stream- Throws:
ClassFormatError
-
ClassFile
Construct a bare bones class, ready for additions
-
-
Method Details
-
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
Return the name of the class -
superName
Return the name of the super class -
superNameString
Return the name of the super class as a string -
setSuperName
Set the name of the super class -
interfaces
Return the list of the interfaces which the class implements The contents are ConstClass objects -
addInterface
Add an interface to the list of the interfaces which the class implements -
fields
Return the list of the fields which the class contains The contents are ClassField objects -
addField
Add a field to the list of the fields which the class contains -
addField
Add a field to the list of the fields which the class contains, at the index'th position. -
methods
Return the list of the methods which the class defines The contents are ClassMethod objects -
findMethod
Look for a method with the specified name and type signature -
addMethod
Add a method to the list of the methods which the class defines -
findField
Look for a field with the specified name -
attributes
Return the list of the attributes associated with the class -
write
Write the Class file to the data output stream- Throws:
IOException
-
getBytes
Returns a byte array representation of this class.- Throws:
IOException
-
print
-
summarize
public void summarize() -
printSupportedVersions
-