Package org.apache.bcel.classfile
Class InnerClasses
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.InnerClasses
-
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<InnerClass>,Node
public final class InnerClasses extends Attribute implements java.lang.Iterable<InnerClass>
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.- See Also:
Attribute
-
-
Field Summary
Fields Modifier and Type Field Description private static InnerClass[]EMPTY_ARRAYEmpty array.private InnerClass[]innerClasses-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description InnerClasses(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool)Constructs object from input stream.InnerClasses(int nameIndex, int length, InnerClass[] innerClasses, ConstantPool constantPool)Constructs an InnerClasses attribute.InnerClasses(InnerClasses c)Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor v)Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Attributecopy(ConstantPool constantPool)Creates a deep copy of this attribute.voiddump(java.io.DataOutputStream file)Dumps source file attribute to file stream in binary format.InnerClass[]getInnerClasses()Gets the array of inner class records.java.util.Iterator<InnerClass>iterator()voidsetInnerClasses(InnerClass[] innerClasses)Sets the array of inner classes.java.lang.StringtoString()-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
Field Detail
-
EMPTY_ARRAY
private static final InnerClass[] EMPTY_ARRAY
Empty array.
-
innerClasses
private InnerClass[] innerClasses
-
-
Constructor Detail
-
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.- Parameters:
c- Source to copy.
-
InnerClasses
InnerClasses(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool) throws java.io.IOExceptionConstructs object from input stream.- Parameters:
nameIndex- Index in constant pool to CONSTANT_Utf8.length- Content length in bytes.input- Input stream.constantPool- Array of constants.- Throws:
java.io.IOException- if an I/O error occurs.
-
InnerClasses
public InnerClasses(int nameIndex, int length, InnerClass[] innerClasses, ConstantPool constantPool)Constructs an InnerClasses attribute.- Parameters:
nameIndex- Index in constant pool to CONSTANT_Utf8.length- Content length in bytes.innerClasses- array of inner classes attributes.constantPool- Array of constants.
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
copy
public Attribute copy(ConstantPool constantPool)
Creates a deep copy of this attribute.
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOExceptionDumps source file attribute to file stream in binary format.
-
getInnerClasses
public InnerClass[] getInnerClasses()
Gets the array of inner class records.- Returns:
- array of inner class "records".
-
iterator
public java.util.Iterator<InnerClass> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<InnerClass>
-
setInnerClasses
public void setInnerClasses(InnerClass[] innerClasses)
Sets the array of inner classes.- Parameters:
innerClasses- the array of inner classes.
-
-