Interface ConstantPool

All Superinterfaces:
Iterable<PoolEntry>
All Known Subinterfaces:
ClassReader, ConstantPoolBuilder

public sealed interface ConstantPool extends Iterable<PoolEntry> permits ClassReader, ConstantPoolBuilder
Provides read access to the constant pool and bootstrap method table of a classfile.
See Java Virtual Machine Specification:
4.4 The Constant Pool
Sealed Class Hierarchy Graph:
Sealed class hierarchy graph for ConstantPoolSealed class hierarchy graph for ConstantPool
Since:
24
  • Method Details

    • entryByIndex

      PoolEntry entryByIndex(int index)
      Returns the entry at the specified index.
      API Note:
      If only a particular type of entry is expected, use entryByIndex(int, Class).
      Parameters:
      index - the index within the pool of the desired entry
      Returns:
      the entry at the specified index
      Throws:
      ConstantPoolException - if the index is out of range of the constant pool, or is considered unusable
    • size

      int size()
      Returns the size of the constant pool.
      Returns:
      the size of the constant pool
    • entryByIndex

      <T extends PoolEntry> T entryByIndex(int index, Class<T> cls)
      Returns the entry of a given type at the specified index.
      Type Parameters:
      T - the entry type
      Parameters:
      index - the index within the pool of the desired entry
      cls - the entry type
      Returns:
      the entry of a given type at the specified index
      Throws:
      ConstantPoolException - if the index is out of range of the constant pool, or the entry is not of the given type
    • iterator

      default Iterator<PoolEntry> iterator()
      Returns an iterator over pool entries.
      Specified by:
      iterator in interface Iterable<PoolEntry>
      Returns:
      an iterator over pool entries
    • bootstrapMethodEntry

      BootstrapMethodEntry bootstrapMethodEntry(int index)
      Returns the BootstrapMethodEntry at the specified index within the bootstrap method table.
      Parameters:
      index - the index within the bootstrap method table of the desired entry
      Returns:
      the BootstrapMethodEntry at the specified index within the bootstrap method table
      Throws:
      ConstantPoolException - if the index is out of range of the bootstrap methods
    • bootstrapMethodCount

      int bootstrapMethodCount()
      Returns the number of entries in the bootstrap method table.
      Returns:
      the number of entries in the bootstrap method table