at.dms.classfile
Class ClassInfo

java.lang.Object
  |
  +--at.dms.classfile.Member
        |
        +--at.dms.classfile.ClassInfo
All Implemented Interfaces:
Constants

public class ClassInfo
extends Member

Class file representation: VMS 4.1 Class File. This is the place where all information about the class defined by this class file resides.


Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_NBR_FLAGS, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_EXCEPTIONS, ATT_GENERIC, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_SOURCEFILE, ATT_SYNTHETIC, CST_CLASS, CST_DOUBLE, CST_FIELD, CST_FLOAT, CST_INTEGER, CST_INTERFACEMETHOD, CST_LONG, CST_METHOD, CST_NAMEANDTYPE, CST_STRING, CST_UTF8, ENV_DEBUG_MODE, ENV_USE_CACHE, JAVA_MAGIC, JAVA_MAJOR, JAVA_MINOR, MAX_CODE_PER_METHOD, 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, POO_ASCII_CONSTANT, POO_CLASS_CONSTANT, POO_DOUBLE_CONSTANT, POO_FLOAT_CONSTANT, POO_INTEGER_CONSTANT, POO_LONG_CONSTANT, POO_NAT_CONSTANT, POO_REF_CONSTANT, POO_STRING_CONSTANT, TYP_ADDRESS, TYP_DOUBLE, TYP_FLOAT, TYP_INT, TYP_LONG, TYP_REFERENCE, TYP_VOID
 
Constructor Summary
ClassInfo(java.io.DataInput in, boolean interfaceOnly)
          Constructs a class info structure from a class file.
ClassInfo(short modifiers, java.lang.String thisClass, java.lang.String superClass, ClassConstant[] interfaces, FieldInfo[] fields, MethodInfo[] methods, InnerClassInfo[] innerClasses, java.lang.String sourceFile, boolean deprecated)
          Constructs a new class info structure.
ClassInfo(short modifiers, java.lang.String thisClass, java.lang.String superClass, java.util.List interfaces, java.util.List fields, java.util.List methods, InnerClassInfo[] innerClasses, java.lang.String sourceFile, boolean deprecated)
          Constructs a new class info structure.
 
Method Summary
 FieldInfo[] getFields()
          Returns the fields info of the class in the file.
 InnerClassInfo[] getInnerClasses()
          Returns the inner classes table of the class in the file.
 java.lang.String[] getInterfaces()
          Returns the interfaces of the class in the file.
 int getMajorVersion()
          Returns the version of the class in the file.
 MethodInfo[] getMethods()
          Returns the methods info of the class in the file.
 int getMinorVersion()
          Returns the version of the class in the file.
 java.lang.String getName()
          Returns the name of the this class (fully qualified).
 java.lang.String getSignature()
          Returns the type of this class.
 java.lang.String getSourceFile()
          Returns the source file of the class in the file.
 java.lang.String getSuperClass()
          Returns the super class of the class in the file.
 boolean isDeprecated()
          Returns true if the field is deprecated.
 void setDeprecated(boolean deprecated)
          Sets the deprecated attribute of this field.
 void setFields(FieldInfo[] fields)
          Sets the fields info of the class in the file.
 void setInnerClasses(InnerClassInfo[] inners)
          Sets the inner classes table of the class in the file.
 void setInterfaces(java.lang.String[] interfaces)
          Sets the interfaces of the class in the file.
 void setMajorVersion(int majorVersion)
          Sets the version of the class in the file.
 void setMethods(MethodInfo[] methods)
          Sets the methods info of the class in the file.
 void setMinorVersion(int minorVersion)
          Sets the version of the class in the file.
 void setName(java.lang.String name)
          Sets the name of the this field (fully qualified).
 void setSourceFile(java.lang.String name)
          Returns the source file of the class in the file.
 void setSuperClass(java.lang.String superClass)
          Sets the super class of the class in the file.
 void write(java.io.DataOutput out)
          Writes the content of the class to the specified output stream.
 void write(java.io.File writeDir, java.lang.String writeFile)
          Writes the contents of the class to a file.
 void write(java.lang.String destination)
          Writes the contents of the class to a file.
 
Methods inherited from class at.dms.classfile.Member
getModifiers, setModifiers
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassInfo

public ClassInfo(short modifiers,
                 java.lang.String thisClass,
                 java.lang.String superClass,
                 java.util.List interfaces,
                 java.util.List fields,
                 java.util.List methods,
                 InnerClassInfo[] innerClasses,
                 java.lang.String sourceFile,
                 boolean deprecated)
Constructs a new class info structure.
Parameters:
modifiers - Access permission to and properties of this class.
thisClass - The class or interface defined by this class file.
superClass - The superclass of this class.
interfaces - The interfaces implemented by this class.
fields - The fields which are members of this class.
methods - The methods which are members of this class.
innerClasses - The inner classes which are members of this class.
sourceFile - The name of the source file.
deprecated - Is this class deprecated?

ClassInfo

public ClassInfo(short modifiers,
                 java.lang.String thisClass,
                 java.lang.String superClass,
                 ClassConstant[] interfaces,
                 FieldInfo[] fields,
                 MethodInfo[] methods,
                 InnerClassInfo[] innerClasses,
                 java.lang.String sourceFile,
                 boolean deprecated)
Constructs a new class info structure.
Parameters:
modifiers - Access permissions to and properties of this class.
thisClass - The class or interface defined by this class file.
superClass - The superclass of this class.
interfaces - The interfaces implemented by this class.
fields - Tthe fields which are members of this class.
methods - The methods which are members of this class.
innerClasses - The inner classes which are members of this class.
sourceFile - The name of the source file.
deprecated - Is this class deprecated?

ClassInfo

public ClassInfo(java.io.DataInput in,
                 boolean interfaceOnly)
          throws java.io.IOException,
                 ClassFileFormatException
Constructs a class info structure from a class file.
Parameters:
in - The stream to read the class from.
interfaceOnly - Load only the interface, not the source code.
Throws:
java.io.IOException - An io problem has occured.
ClassFileFormatException - Attempt to read from a bad classfile.
Method Detail

getName

public java.lang.String getName()
Returns the name of the this class (fully qualified).
Overrides:
getName in class Member

setName

public void setName(java.lang.String name)
Sets the name of the this field (fully qualified).

getSignature

public java.lang.String getSignature()
Returns the type of this class.
Overrides:
getSignature in class Member

getSuperClass

public java.lang.String getSuperClass()
Returns the super class of the class in the file.

setSuperClass

public void setSuperClass(java.lang.String superClass)
Sets the super class of the class in the file.

getMajorVersion

public int getMajorVersion()
Returns the version of the class in the file.

setMajorVersion

public void setMajorVersion(int majorVersion)
Sets the version of the class in the file.

getMinorVersion

public int getMinorVersion()
Returns the version of the class in the file.

setMinorVersion

public void setMinorVersion(int minorVersion)
Sets the version of the class in the file.

getInnerClasses

public InnerClassInfo[] getInnerClasses()
Returns the inner classes table of the class in the file.

setInnerClasses

public void setInnerClasses(InnerClassInfo[] inners)
Sets the inner classes table of the class in the file.

getSourceFile

public java.lang.String getSourceFile()
Returns the source file of the class in the file.

setSourceFile

public void setSourceFile(java.lang.String name)
Returns the source file of the class in the file.

isDeprecated

public boolean isDeprecated()
Returns true if the field is deprecated.

setDeprecated

public void setDeprecated(boolean deprecated)
Sets the deprecated attribute of this field.

getInterfaces

public java.lang.String[] getInterfaces()
Returns the interfaces of the class in the file.

setInterfaces

public void setInterfaces(java.lang.String[] interfaces)
Sets the interfaces of the class in the file.

getFields

public FieldInfo[] getFields()
Returns the fields info of the class in the file.

setFields

public void setFields(FieldInfo[] fields)
Sets the fields info of the class in the file.

getMethods

public MethodInfo[] getMethods()
Returns the methods info of the class in the file.

setMethods

public void setMethods(MethodInfo[] methods)
Sets the methods info of the class in the file.

write

public void write(java.io.DataOutput out)
           throws java.io.IOException,
                  ClassFileFormatException
Writes the content of the class to the specified output stream.
Parameters:
out - The stream to write to.
Throws:
java.io.IOException - An io problem has occured.
ClassFileFormatException - Attempt to write a bad classfile info.

write

public void write(java.lang.String destination)
           throws java.io.IOException,
                  ClassFileFormatException
Writes the contents of the class to a file.
Parameters:
destination - The root directory of the class hierarchy.
Throws:
java.io.IOException - An io problem occured.
ClassFileFormatException - Attempt to write a bad classfile info.

write

public void write(java.io.File writeDir,
                  java.lang.String writeFile)
           throws java.io.IOException,
                  ClassFileFormatException
Writes the contents of the class to a file.
Parameters:
destination - The root directory of the class hierarchy.
Throws:
java.io.IOException - An io problem occured.
ClassFileFormatException - Attempt to write a bad classfile info.