Package 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`, `MethodHandleCPInfo`, `MethodRefCPInfo`, `NameAndTypeCPInfo`, `Utf8CPInfo`

public abstract class ConstantPoolEntry extends 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 final int`
`CONSTANT_CLASS`
Tag value for Class entries.
`static final int`
`CONSTANT_DOUBLE`
Tag value for Double entries.
`static final int`
`CONSTANT_FIELDREF`
Tag value for Field Reference entries.
`static final int`
`CONSTANT_FLOAT`
Tag value for Float entries.
`static final int`
`CONSTANT_INTEGER`
Tag value for Integer entries.
`static final int`
`CONSTANT_INTERFACEMETHODREF`
Tag value for Interface Method Reference entries.
`static final int`
`CONSTANT_INVOKEDYNAMIC`
Tag value for InvokeDynamic entries
`static final int`
`CONSTANT_LONG`
Tag value for Long entries.
`static final int`
`CONSTANT_METHODHANDLE`
Tag value for Method Handle entries
`static final int`
`CONSTANT_METHODREF`
Tag value for Method Reference entries.
`static final int`
`CONSTANT_METHODTYPE`
Tag value for Method Type entries
`static final int`
`CONSTANT_MODULEINFO`
Tag value for CONSTANT_Module_info entry
`static final int`
`CONSTANT_NAMEANDTYPE`
Tag value for Name and Type entries.
`static final int`
`CONSTANT_PACKAGEINFO`
Tag value for CONSTANT_Package_info entry (within a module)
`static final int`
`CONSTANT_STRING`
Tag value for String entries.
`static final 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
`final 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(DataInputStream cpStream)`
read a constant pool entry from a class stream.
`static ConstantPoolEntry`
`readEntry(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

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

### CONSTANT_METHODHANDLE

public static final int CONSTANT_METHODHANDLE
Tag value for Method Handle entries

See Also:
  - Constant Field Values

### CONSTANT_METHODTYPE

public static final int CONSTANT_METHODTYPE
Tag value for Method Type entries

See Also:
  - Constant Field Values

### CONSTANT_INVOKEDYNAMIC

public static final int CONSTANT_INVOKEDYNAMIC
Tag value for InvokeDynamic entries

See Also:
  - Constant Field Values

### CONSTANT_MODULEINFO

public static final int CONSTANT_MODULEINFO
Tag value for CONSTANT_Module_info entry

See Also:
  - Constant Field Values

### CONSTANT_PACKAGEINFO

public static final int CONSTANT_PACKAGEINFO
Tag value for CONSTANT_Package_info entry (within a module)

See Also:
  - Constant Field Values

## 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(DataInputStream cpStream) throws 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:
  `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(DataInputStream cpStream) throws IOException
read a constant pool entry from a class stream.

Parameters:
  `cpStream` - the DataInputStream which contains the constant pool entry to be read.
Throws:
  `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.