at.dms.classfile
Class ClassInfo

java.lang.Object
  extended by at.dms.classfile.Member
      extended by at.dms.classfile.ClassInfo
All Implemented Interfaces:
Constants

public class ClassInfo
extends Member

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


Field Summary
 
Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INLINE, ACC_INTERFACE, ACC_NATIVE, 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(DataInput in, boolean interfaceOnly)
          Constructs a class info structure from a class file stream.
ClassInfo(short modifiers, String thisClass, String superClass, ClassConstant[] interfaces, FieldInfo[] fields, MethodInfo[] methods, InnerClassInfo[] innerClasses, String sourceFile, boolean deprecated)
          Constructs a class info structure.
ClassInfo(short modifiers, String thisClass, String superClass, Vector interfaces, Vector fields, Vector methods, InnerClassInfo[] innerClasses, String sourceFile, boolean deprecated)
          Constructs a 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
 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
 String getName()
          Returns the name of the this class (fully qualified)
 String getSignature()
          Returns the type of the this field
 String getSourceFile()
          Returns the source file of the class in the file
 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(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 setMinor(int minorVersion)
          Sets the version of the class in the file
 void setName(String name)
          Sets the name of the this field (fully qualified)
 void setSourceFile(String name)
          Returns the source file of the class in the file
 void setSuperClass(String superClass)
          Sets the super class of the class in the file
 void write(DataOutput out)
          Writes the content of the class to the specified output stream
 void write(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,
                 String thisClass,
                 String superClass,
                 ClassConstant[] interfaces,
                 FieldInfo[] fields,
                 MethodInfo[] methods,
                 InnerClassInfo[] innerClasses,
                 String sourceFile,
                 boolean deprecated)
Constructs a 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,
                 String thisClass,
                 String superClass,
                 Vector interfaces,
                 Vector fields,
                 Vector methods,
                 InnerClassInfo[] innerClasses,
                 String sourceFile,
                 boolean deprecated)
Constructs a 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(DataInput in,
                 boolean interfaceOnly)
          throws IOException,
                 ClassFileFormatException
Constructs a class info structure from a class file stream.

Parameters:
in - the stream to read the class from
interfaceOnly - load only the interface, not the source code
Throws:
IOException - an io problem has occured
ClassFileFormatException - attempt to read a bad classfile
Method Detail

getName

public String getName()
Returns the name of the this class (fully qualified)

Specified by:
getName in class Member

setName

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


getSignature

public String getSignature()
Returns the type of the this field

Specified by:
getSignature in class Member

getSuperClass

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


setSuperClass

public void setSuperClass(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


setMinor

public void setMinor(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 String getSourceFile()
Returns the source file of the class in the file


setSourceFile

public void setSourceFile(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 String[] getInterfaces()
Returns the interfaces of the class in the file


setInterfaces

public void setInterfaces(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(DataOutput out)
           throws IOException,
                  ClassFileFormatException
Writes the content of the class to the specified output stream

Parameters:
out - the stream to write to
Throws:
IOException - an io problem has occured
ClassFileFormatException - attempt to write a bad classfile info

write

public void write(String destination)
           throws IOException,
                  ClassFileFormatException
Writes the contents of the class to a file.

Parameters:
destination - the root directory of the class hierarchy
Throws:
IOException - an io problem occured
ClassFileFormatException - attempt to write a bad classfile info