FileDocCategorySizeDatePackage
InnerClassesAttribute.javaAPI DocJ2ME CLDC 1.13301Wed Feb 05 15:56:04 GMT 2003kdp.classparser.attributes

InnerClassesAttribute

public class InnerClassesAttribute extends Attribute
Encapsulates the InnerClasses attribute of a Java class file. This class has never been thoroughly tested.
author
Aaron Dietrich
version
$Id: InnerClassesAttribute.java,v 1.1.1.1 2000/07/07 13:34:23 jrv Exp $ Revision History $Log: InnerClassesAttribute.java,v $ Revision 1.1.1.1 2000/07/07 13:34:23 jrv Initial import of kdp code Revision 1.1.1.1 2000/05/31 19:14:48 ritsun Initial import of kvmdt to CVS Revision 1.1 2000/04/25 00:30:39 ritsun Initial revision

Fields Summary
private int
attributeNameIndex
index into the constant pool table containing the name of this class
private int
attributeLength
length of this attribute in bytes
private int
numberOfClasses
the number of classes represented by this inner classes attribute
private InnerClassesTable[]
classes
an array that holds the inner classes represented by this attribute
Constructors Summary
public InnerClassesAttribute(DataInputStream iStream, int attributeNameIndex, int attributeLength)
Constructor. Reads the InnerClassesAttribute attribute from the class file.

param
iStream the input stream on which to read the class file
param
attributeNameIndex attributeNameIndex member of attribute structure.
param
attributeLength attributeLength member of attribute structure.
exception
IOException pass IOExceptions up

      this.attributeNameIndex = attributeNameIndex;
      this.attributeLength = attributeLength;
      
      numberOfClasses = iStream.readUnsignedShort ();
      
      classes = new InnerClassesTable[numberOfClasses];
      for (int lcv = 0; lcv < numberOfClasses; ++lcv)
        {
         classes[lcv] = new InnerClassesTable (iStream);
        }
     
Methods Summary
public java.lang.StringtoString(ConstantPoolInfo[] constantPool)
Returns the InnerClassesAttribute attribute in a nice easy to read format as a string.

param
constantPool constant pool of the class file
return
String the attribute as a nice easy to read String

      ConstantUtf8Info            utf8Info;
      String                        s = new String ("");
      
      utf8Info = (ConstantUtf8Info) constantPool[attributeNameIndex];
      s = s + "\t" + utf8Info.toString () + "\tNot Done";
      
      for (int lcv = 0; lcv < numberOfClasses; ++lcv)
        s = s + "\n\t\t\t" + classes[lcv];
        
      return s;