Package org.apache.bcel.classfile
Class InnerClass
- java.lang.Object
-
- org.apache.bcel.classfile.InnerClass
-
- All Implemented Interfaces:
java.lang.Cloneable,Node
public final class InnerClass extends java.lang.Object implements java.lang.Cloneable, Node
This class represents a inner class attribute, that is, the class indices of the inner and outer classes, the name and the attributes of the inner class.- See Also:
InnerClasses
-
-
Field Summary
Fields Modifier and Type Field Description private intinnerAccessFlagsprivate intinnerClassIndexprivate intinnerNameIndexprivate intouterClassIndex
-
Constructor Summary
Constructors Constructor Description InnerClass(int innerClassIndex, int outerClassIndex, int innerNameIndex, int innerAccessFlags)Constructs an InnerClass.InnerClass(java.io.DataInput file)Constructs object from file stream.InnerClass(InnerClass 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.InnerClasscopy()Creates a deep copy of this object.voiddump(java.io.DataOutputStream file)Dumps inner class attribute to file stream in binary format.intgetInnerAccessFlags()Gets the access flags of inner class.intgetInnerClassIndex()Gets the class index of inner class.intgetInnerNameIndex()Gets the name index of inner class.intgetOuterClassIndex()Gets the class index of outer class.voidsetInnerAccessFlags(int innerAccessFlags)Sets the access flags for this inner class.voidsetInnerClassIndex(int innerClassIndex)Sets the index into the constant pool for this class.voidsetInnerNameIndex(int innerNameIndex)Sets the index into the constant pool for this class's name.voidsetOuterClassIndex(int outerClassIndex)Sets the index into the constant pool for the owning class.java.lang.StringtoString()Gets the string representation.java.lang.StringtoString(ConstantPool constantPool)Gets the resolved string representation.
-
-
-
Constructor Detail
-
InnerClass
InnerClass(java.io.DataInput file) throws java.io.IOExceptionConstructs object from file stream.- Parameters:
file- Input stream.- Throws:
java.io.IOException- if an I/O error occurs.
-
InnerClass
public InnerClass(InnerClass c)
Initialize from another object.- Parameters:
c- Source to copy.
-
InnerClass
public InnerClass(int innerClassIndex, int outerClassIndex, int innerNameIndex, int innerAccessFlags)Constructs an InnerClass.- Parameters:
innerClassIndex- Class index in constant pool of inner class.outerClassIndex- Class index in constant pool of outer class.innerNameIndex- Name index in constant pool of inner class.innerAccessFlags- Access flags of inner class.
-
-
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 InnerClass copy()
Creates a deep copy of this object.- Returns:
- deep copy of this object.
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOExceptionDumps inner class attribute to file stream in binary format.- Parameters:
file- Output file stream.- Throws:
java.io.IOException- if an I/O error occurs.
-
getInnerAccessFlags
public int getInnerAccessFlags()
Gets the access flags of inner class.- Returns:
- access flags of inner class.
-
getInnerClassIndex
public int getInnerClassIndex()
Gets the class index of inner class.- Returns:
- class index of inner class.
-
getInnerNameIndex
public int getInnerNameIndex()
Gets the name index of inner class.- Returns:
- name index of inner class.
-
getOuterClassIndex
public int getOuterClassIndex()
Gets the class index of outer class.- Returns:
- class index of outer class.
-
setInnerAccessFlags
public void setInnerAccessFlags(int innerAccessFlags)
Sets the access flags for this inner class.- Parameters:
innerAccessFlags- access flags for this inner class.
-
setInnerClassIndex
public void setInnerClassIndex(int innerClassIndex)
Sets the index into the constant pool for this class.- Parameters:
innerClassIndex- index into the constant pool for this class.
-
setInnerNameIndex
public void setInnerNameIndex(int innerNameIndex)
Sets the index into the constant pool for this class's name.- Parameters:
innerNameIndex- index into the constant pool for this class's name.
-
setOuterClassIndex
public void setOuterClassIndex(int outerClassIndex)
Sets the index into the constant pool for the owning class.- Parameters:
outerClassIndex- index into the constant pool for the owning class.
-
toString
public java.lang.String toString()
Gets the string representation.- Overrides:
toStringin classjava.lang.Object- Returns:
- String representation.
-
toString
public java.lang.String toString(ConstantPool constantPool)
Gets the resolved string representation.- Parameters:
constantPool- the constant pool.- Returns:
- Resolved string representation.
-
-