Class InnerClass

java.lang.Object
org.apache.bcel.classfile.InnerClass
All Implemented Interfaces:
Cloneable, Node

public final class InnerClass extends Object implements Cloneable, Node
This class represents an 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:
  • Constructor Details

    • InnerClass

      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 Details

    • 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. That is, the hierarchy of methods, fields, attributes, and other elements forms a tree of objects.
      Specified by:
      accept in interface Node
      Parameters:
      v - Visitor object.
    • copy

      public InnerClass copy()
      Creates a deep copy of this object.
      Returns:
      deep copy of this object.
    • dump

      public void dump(DataOutputStream file) throws IOException
      Dumps inner class attribute to file stream in binary format.
      Parameters:
      file - Output file stream.
      Throws:
      IOException - Thrown 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 String toString()
      Gets the string representation.
      Overrides:
      toString in class Object
      Returns:
      String representation.
    • toString

      public String toString(ConstantPool constantPool)
      Gets the resolved string representation.
      Parameters:
      constantPool - The constant pool.
      Returns:
      Resolved string representation.