jellyj.classfile.javaclass
Class InnerClasses

jellyj.classfile.javaclass.Attribute
  |
  +--jellyj.classfile.javaclass.InnerClasses

public final class InnerClasses
extends Attribute

This class is derived from Attribute and denotes that this class is an Inner class of another. to the source file of this class. It is instantiated from the Attribute.readAttribute() method.

Author:
JellyJ Design Group
See Also: Attribute

Constructor Summary
 InnerClasses()
          Empty constructor, all attributes have to be defined via `setXXX' methods.
 InnerClasses(InnerClasses c)
          Initialize from another object.
 InnerClasses(int name_index, int length, InnerClass[] inner_classes, ConstantPool constant_pool)
           
 (package private) InnerClasses(int name_index, int length, DataInputStream file, ConstantPool constant_pool)
          Construct object from file stream.

Method Summary
 voidaccept(Visitor v)
          Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
 final voiddump(DataOutputStream file)
          Dump source file attribute to file stream in binary format.
 final ConstantPoolgetConstantPool()
           
 final InnerClass[]getInnerClasses()
           
 final voidsetConstantPool(ConstantPool constant_pool)
           
 final voidsetInnerClasses(InnerClass[] inner_classes)
           
 final StringtoString()
           

Methods inherited from class jellyj.classfile.javaclass.Attribute
getLength, getNameIndex, getTag, readAttribute, setLength, setNameIndex

Constructor Detail

InnerClasses

public InnerClasses()
Empty constructor, all attributes have to be defined via `setXXX' methods. Use at your own risk.

InnerClasses

public InnerClasses(InnerClasses c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.

InnerClasses

public InnerClasses(int name_index, int length, InnerClass[] inner_classes, ConstantPool constant_pool)
Parameters:
name_index - Index in constant pool to CONSTANT_Utf8
length - Content length in bytes
inner_classes - array of inner classes attributes
constant_pool - Array of constants
sourcefile_index - Index in constant pool to CONSTANT_Utf8

InnerClasses

InnerClasses(int name_index, int length, DataInputStream file, ConstantPool constant_pool)
throws java.io.IOException
Construct object from file stream.
Parameters:
name_index - Index in constant pool to CONSTANT_Utf8
length - Content length in bytes
file - Input stream
constant_pool - Array of constants
throw IOException
Method Detail

accept

public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
Parameters:
v - Visitor object

dump

public final void dump(DataOutputStream file)
throws java.io.IOException
Dump source file attribute to file stream in binary format.
Parameters:
file - Output file stream
throw IOException

getConstantPool

public final ConstantPool getConstantPool()
Returns: Constant pool used by this object.
See Also:
ConstantPool

getInnerClasses

public final InnerClass[] getInnerClasses()
Returns: Index in constant pool of source file name.

setConstantPool

public final void setConstantPool(ConstantPool constant_pool)
Parameters:
constant_pool - Constant pool to be used for this object.
See Also:
ConstantPool

setInnerClasses

public final void setInnerClasses(InnerClass[] inner_classes)
Parameters:
inner_classes.

toString

public final String toString()
Returns: String representation.

Association Links

to Class jellyj.classfile.javaclass.InnerClass

to Class jellyj.classfile.javaclass.ConstantPool