Class ConstantPool

java.lang.Object
org.apache.tomcat.util.bcel.classfile.ConstantPool

public class ConstantPool extends Object
This class represents the constant pool, i.e., a table of constants, of a parsed classfile. It may contain null references, due to the JVM specification that skips an entry after an 8-byte constant (double, long) entry. Those interested in generating constant pools programmatically should see ConstantPoolGen.
See Also:
  • Method Details

    • getConstant

      public <T extends Constant> T getConstant(int index) throws ClassFormatException
      Gets constant from constant pool.
      Type Parameters:
      T - A Constant subclass
      Parameters:
      index - Index in constant pool
      Returns:
      Constant value
      Throws:
      ClassFormatException - if index is invalid
      See Also:
    • getConstant

      public <T extends Constant> T getConstant(int index, byte tag) throws ClassFormatException
      Gets constant from constant pool and check whether it has the expected type.
      Type Parameters:
      T - A Constant subclass
      Parameters:
      index - Index in constant pool
      tag - Tag of expected constant, i.e., its type
      Returns:
      Constant value
      Throws:
      ClassFormatException - if constant type does not match tag
      See Also:
    • getConstant

      public <T extends Constant> T getConstant(int index, Class<T> castTo) throws ClassFormatException
      Gets constant from constant pool.
      Type Parameters:
      T - A Constant subclass
      Parameters:
      index - Index in constant pool
      castTo - The Constant subclass to cast to.
      Returns:
      Constant value
      Throws:
      ClassFormatException - if index is invalid
      See Also:
    • getConstantInteger

      public ConstantInteger getConstantInteger(int index)
      Gets constant from constant pool and check whether it has the expected type.
      Parameters:
      index - Index in constant pool
      Returns:
      ConstantInteger value
      Throws:
      ClassFormatException - if constant type does not match tag
      See Also:
    • getConstantUtf8

      public ConstantUtf8 getConstantUtf8(int index) throws ClassFormatException
      Gets constant from constant pool and check whether it has the expected type.
      Parameters:
      index - Index in constant pool
      Returns:
      ConstantUtf8 value
      Throws:
      ClassFormatException - if constant type does not match tag
      See Also: