ccl.jcf
Class DumpClassToTxt

java.lang.Object
  |
  +--ccl.jcf.DumpClassToTxt
All Implemented Interfaces:
lti.java.jcf.RuntimeConstants

public class DumpClassToTxt
extends java.lang.Object
implements lti.java.jcf.RuntimeConstants

Provides a method for documenting the low-level contents of a class file (represented by a JcfClassFile object) in a standard HTML file.


Field Summary
protected  lti.java.jcf.JcfConstantPool cp
           
protected  int flags
           
protected  lti.java.jcf.JcfClassFile jcf
           
static int OMIT_ALLATTRIBUTES
           
static int OMIT_CLASSDESC
           
static int OMIT_CONSTPOOL
          If specified as part of a bit mask, each flag prevents the dumping of the respective class file component.
static int OMIT_EXTRAATTRIBUTES
           
static int OMIT_FIELDS
           
static int OMIT_INTERFACES
           
static int OMIT_METHODS
           
protected  java.lang.StringBuffer output
           
 
Fields inherited from interface lti.java.jcf.RuntimeConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELD, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACEMETHOD, CONSTANT_LONG, CONSTANT_METHOD, CONSTANT_NAMEANDTYPE, CONSTANT_STRING, CONSTANT_UNICODE, CONSTANT_UTF8, JAVA_MAGIC, JAVA_MINOR_VERSION, JAVA_VERSION, 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_breakpoint, 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_dead, 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_i2d, opc_i2f, opc_i2l, 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_int2byte, opc_int2char, opc_int2short, opc_invokeinterface, opc_invokenonvirtual, 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_label, 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_try, opc_wide, opc_xxxunusedxxx, opcLengths, opcNames, SIG_ARRAY, SIG_BOOLEAN, SIG_BYTE, SIG_CHAR, SIG_CLASS, SIG_DOUBLE, SIG_ENDCLASS, SIG_ENDMETHOD, SIG_FLOAT, SIG_INT, SIG_LONG, SIG_METHOD, SIG_PACKAGE, SIG_SHORT, SIG_VOID, SIGC_ARRAY, SIGC_BOOLEAN, SIGC_BYTE, SIGC_CHAR, SIGC_CLASS, SIGC_DOUBLE, SIGC_ENDCLASS, SIGC_ENDMETHOD, SIGC_FLOAT, SIGC_INT, SIGC_LONG, SIGC_METHOD, SIGC_PACKAGE, SIGC_SHORT, SIGC_VOID, T_BOOLEAN, T_BYTE, T_CHAR, T_CLASS, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT
 
Constructor Summary
DumpClassToTxt(lti.java.jcf.JcfClassFile jcf, java.lang.StringBuffer output, int flags)
          Creates a new DumpClassToTxt object with the specified source class, output stream, and dumping flags.
 
Method Summary
protected static java.lang.String cpRef(int cpr)
          Returns an HTML hyperlink string (anchor) that has the text "#123" (123 is in place of [cpr]) and links to the anchor #cp123.
 void dump()
          Dump the class previously set up at instantiation to the output stream.
protected  void print(java.lang.String s)
          Print a text fragment.
protected  void printAttributes(lti.java.jcf.JcfAttributeCollection attrs)
          Print an attribute collection.
protected  void printConstantPool()
          Print the constant pool (e.g.
protected  void println()
          Print an empty line.
protected  void println(java.lang.String s)
          Print a line.
protected  void printMembers(lti.java.jcf.JcfMemberCollection members, java.lang.String fieldOrMethod)
          Print descriptions of all members in the collection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OMIT_CONSTPOOL

public static final int OMIT_CONSTPOOL
If specified as part of a bit mask, each flag prevents the dumping of the respective class file component.

See Also:
Constant Field Values

OMIT_CLASSDESC

public static final int OMIT_CLASSDESC
See Also:
Constant Field Values

OMIT_INTERFACES

public static final int OMIT_INTERFACES
See Also:
Constant Field Values

OMIT_FIELDS

public static final int OMIT_FIELDS
See Also:
Constant Field Values

OMIT_METHODS

public static final int OMIT_METHODS
See Also:
Constant Field Values

OMIT_EXTRAATTRIBUTES

public static final int OMIT_EXTRAATTRIBUTES
See Also:
Constant Field Values

OMIT_ALLATTRIBUTES

public static final int OMIT_ALLATTRIBUTES
See Also:
Constant Field Values

jcf

protected lti.java.jcf.JcfClassFile jcf

cp

protected lti.java.jcf.JcfConstantPool cp

output

protected java.lang.StringBuffer output

flags

protected int flags
Constructor Detail

DumpClassToTxt

public DumpClassToTxt(lti.java.jcf.JcfClassFile jcf,
                      java.lang.StringBuffer output,
                      int flags)
               throws java.lang.Exception
Creates a new DumpClassToTxt object with the specified source class, output stream, and dumping flags.

Parameters:
flags - Created as a bit mask of the OMIT_xxx fields of this class.
Throws:
java.lang.Exception - don't know why this could be thrown. Propably all kinds of of ClassNotFoundException etc. can be thrown. I think IOException and ZipException are other possible exceptions to receive. ccl.
Method Detail

dump

public void dump()
Dump the class previously set up at instantiation to the output stream.


cpRef

protected static java.lang.String cpRef(int cpr)
Returns an HTML hyperlink string (anchor) that has the text "#123" (123 is in place of [cpr]) and links to the anchor #cp123.


printConstantPool

protected void printConstantPool()
Print the constant pool (e.g. in a table format.)


printMembers

protected void printMembers(lti.java.jcf.JcfMemberCollection members,
                            java.lang.String fieldOrMethod)
Print descriptions of all members in the collection.

Parameters:
fieldOrMethod - the text ("Fields" or "Methods") to print as a heading.

printAttributes

protected void printAttributes(lti.java.jcf.JcfAttributeCollection attrs)
Print an attribute collection. Should recurse through nested attributes using appropriate indentation.


println

protected final void println(java.lang.String s)
Print a line. Convenience method.


print

protected final void print(java.lang.String s)
Print a text fragment. Convenience method.


println

protected final void println()
Print an empty line. Convenience method.