Class ClassFile
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static short[][]jdkMajorMinorVersionsstatic ListjdkVersionsstatic intmagicstatic StringsupportedVersions-
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
Constructors Constructor Description ClassFile(DataInputStream data)Construct a ClassFile from an input streamClassFile(String cname, String supername)Construct a bare bones class, ready for additions
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intaccess()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 definesAttributeVectorattributes()Return the list of the attributes associated with the classConstClassclassName()Return the name of the classVectorfields()Return the list of the fields which the class contains The contents are ClassField objectsClassFieldfindField(String fieldName)Look for a field with the specified nameClassMethodfindMethod(String methodName, String methodSig)Look for a method with the specified name and type signaturebyte[]getBytes()Returns a byte array representation of this class.Vectorinterfaces()Return the list of the interfaces which the class implements The contents are ConstClass objectsbooleanisAbstract()Is the class abstract?booleanisFinal()Is the class final?booleanisInterface()Is the class an interface?booleanisPublic()Is the class public?Vectormethods()Return the list of the methods which the class defines The contents are ClassMethod objectsConstantPoolpool()Return the constant pool for the class filevoidprint(PrintStream out)static StringprintSupportedVersions()voidsetAccessFlags(int flags)Set the access flags for the class - see VMConstantsvoidsetSuperName(ConstClass superCl)Set the name of the super classvoidsummarize()ConstClasssuperName()Return the name of the super classStringsuperNameString()Return the name of the super class as a stringvoidwrite(DataOutputStream buff)Write the Class file to the data output stream
-
-
-
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
-
-
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 IOExceptionReturns 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()
-
-