java.lang.Object
org.apache.tools.ant.taskdefs.optional.depend.constantpool.ConstantPoolEntry
Direct Known Subclasses:
ClassCPInfo, ConstantCPInfo, FieldRefCPInfo, InterfaceMethodRefCPInfo, MethodHandleCPInfo, MethodRefCPInfo, NameAndTypeCPInfo, Utf8CPInfo

public abstract class ConstantPoolEntry
extends java.lang.Object
An entry in the constant pool. This class contains a representation of the constant pool entries. It is an abstract base class for all the different forms of constant pool entry.
See Also:
ConstantPool
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static int CONSTANT_CLASS
    Tag value for Class entries.
    static int CONSTANT_DOUBLE
    Tag value for Double entries.
    static int CONSTANT_FIELDREF
    Tag value for Field Reference entries.
    static int CONSTANT_FLOAT
    Tag value for Float entries.
    static int CONSTANT_INTEGER
    Tag value for Integer entries.
    static int CONSTANT_INTERFACEMETHODREF
    Tag value for Interface Method Reference entries.
    static int CONSTANT_INVOKEDYNAMIC
    Tag value for InvokeDynamic entries
    static int CONSTANT_LONG
    Tag value for Long entries.
    static int CONSTANT_METHODHANDLE
    Tag value for Method Handle entries
    static int CONSTANT_METHODREF
    Tag value for Method Reference entries.
    static int CONSTANT_METHODTYPE
    Tag value for Method Type entries
    static int CONSTANT_MODULEINFO
    Tag value for CONSTANT_Module_info entry
    static int CONSTANT_NAMEANDTYPE
    Tag value for Name and Type entries.
    static int CONSTANT_PACKAGEINFO
    Tag value for CONSTANT_Package_info entry (within a module)
    static int CONSTANT_STRING
    Tag value for String entries.
    static int CONSTANT_UTF8
    Tag value for UTF8 entries.
  • Constructor Summary

    Constructors 
    Constructor Description
    ConstantPoolEntry​(int tagValue, int entries)
    Initialise the constant pool entry.
  • Method Summary

    Modifier and Type Method Description
    int getNumEntries()
    Get the number of Constant Pool Entry slots within the constant pool occupied by this entry.
    int getTag()
    Get the Entry's type tag.
    boolean isResolved()
    Indicates whether this entry has been resolved.
    abstract void read​(java.io.DataInputStream cpStream)
    read a constant pool entry from a class stream.
    static ConstantPoolEntry readEntry​(java.io.DataInputStream cpStream)
    Read a constant pool entry from a stream.
    void resolve​(ConstantPool constantPool)
    Resolve this constant pool entry with respect to its dependents in the constant pool.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • ConstantPoolEntry

      public ConstantPoolEntry​(int tagValue, int entries)
      Initialise the constant pool entry.
      Parameters:
      tagValue - the tag value which identifies which type of constant pool entry this is.
      entries - the number of constant pool entry slots this entry occupies.
  • Method Details

    • readEntry

      public static ConstantPoolEntry readEntry​(java.io.DataInputStream cpStream) throws java.io.IOException
      Read a constant pool entry from a stream. This is a factory method which reads a constant pool entry form a stream and returns the appropriate subclass for the entry.
      Parameters:
      cpStream - the stream from which the constant pool entry is to be read.
      Returns:
      the appropriate ConstantPoolEntry subclass representing the constant pool entry from the stream.
      Throws:
      java.io.IOException - if the constant pool entry cannot be read from the stream
    • isResolved

      public boolean isResolved()
      Indicates whether this entry has been resolved. In general a constant pool entry can reference another constant pool entry by its index value. Resolution involves replacing this index value with the constant pool entry at that index.
      Returns:
      true if this entry has been resolved.
    • resolve

      public void resolve​(ConstantPool constantPool)
      Resolve this constant pool entry with respect to its dependents in the constant pool.
      Parameters:
      constantPool - the constant pool of which this entry is a member and against which this entry is to be resolved.
    • read

      public abstract void read​(java.io.DataInputStream cpStream) throws java.io.IOException
      read a constant pool entry from a class stream.
      Parameters:
      cpStream - the DataInputStream which contains the constant pool entry to be read.
      Throws:
      java.io.IOException - if there is a problem reading the entry from the stream.
    • getTag

      public int getTag()
      Get the Entry's type tag.
      Returns:
      The Tag value of this entry
    • getNumEntries

      public final int getNumEntries()
      Get the number of Constant Pool Entry slots within the constant pool occupied by this entry.
      Returns:
      the number of slots used.