## org.apache.tools.ant.taskdefs.optional.depend.constantpool
Class ConstantPoolEntry

    java.lang.Object
      org.apache.tools.ant.taskdefs.optional.depend.constantpool.ConstantPoolEntry

Direct Known Subclasses:
  ClassCPInfo, ConstantCPInfo, FieldRefCPInfo, InterfaceMethodRefCPInfo, 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
`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_LONG` Tag value for Long entries.
`static int` `CONSTANT_METHODREF` Tag value for Method Reference entries.
`static int` `CONSTANT_NAMEANDTYPE` Tag value for Name and Type entries.
`static int` `CONSTANT_STRING` Tag value for String entries.
`static int` `CONSTANT_UTF8` Tag value for UTF8 entries.

Constructor Summary
`ConstantPoolEntry(int tagValue, int entries)` Initialise the constant pool entry.

Method Summary
`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 Detail

### CONSTANT_UTF8

    public static final int CONSTANT_UTF8

  Tag value for UTF8 entries.

  See Also:
    Constant Field Values

### CONSTANT_INTEGER

    public static final int CONSTANT_INTEGER

  Tag value for Integer entries.

  See Also:
    Constant Field Values

### CONSTANT_FLOAT

    public static final int CONSTANT_FLOAT

  Tag value for Float entries.

  See Also:
    Constant Field Values

### CONSTANT_LONG

    public static final int CONSTANT_LONG

  Tag value for Long entries.

  See Also:
    Constant Field Values

### CONSTANT_DOUBLE

    public static final int CONSTANT_DOUBLE

  Tag value for Double entries.

  See Also:
    Constant Field Values

### CONSTANT_CLASS

    public static final int CONSTANT_CLASS

  Tag value for Class entries.

  See Also:
    Constant Field Values

### CONSTANT_STRING

    public static final int CONSTANT_STRING

  Tag value for String entries.

  See Also:
    Constant Field Values

### CONSTANT_FIELDREF

    public static final int CONSTANT_FIELDREF

  Tag value for Field Reference entries.

  See Also:
    Constant Field Values

### CONSTANT_METHODREF

    public static final int CONSTANT_METHODREF

  Tag value for Method Reference entries.

  See Also:
    Constant Field Values

### CONSTANT_INTERFACEMETHODREF

    public static final int CONSTANT_INTERFACEMETHODREF

  Tag value for Interface Method Reference entries.

  See Also:
    Constant Field Values

### CONSTANT_NAMEANDTYPE

    public static final int CONSTANT_NAMEANDTYPE

  Tag value for Name and Type entries.

  See Also:
    Constant Field Values

Constructor Detail

### 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 Detail

### 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.