org.apache.tools.ant.taskdefs.optional.depend.constantpool

Class ConstantPoolEntry

Known Direct 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.
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.

Field Details

CONSTANT_CLASS

public static final int CONSTANT_CLASS
Tag value for Class entries.

Field Value:
7


CONSTANT_DOUBLE

public static final int CONSTANT_DOUBLE
Tag value for Double entries.

Field Value:
6


CONSTANT_FIELDREF

public static final int CONSTANT_FIELDREF
Tag value for Field Reference entries.

Field Value:
9


CONSTANT_FLOAT

public static final int CONSTANT_FLOAT
Tag value for Float entries.

Field Value:
4


CONSTANT_INTEGER

public static final int CONSTANT_INTEGER
Tag value for Integer entries.

Field Value:
3


CONSTANT_INTERFACEMETHODREF

public static final int CONSTANT_INTERFACEMETHODREF
Tag value for Interface Method Reference entries.

Field Value:
11


CONSTANT_LONG

public static final int CONSTANT_LONG
Tag value for Long entries.

Field Value:
5


CONSTANT_METHODREF

public static final int CONSTANT_METHODREF
Tag value for Method Reference entries.

Field Value:
10


CONSTANT_NAMEANDTYPE

public static final int CONSTANT_NAMEANDTYPE
Tag value for Name and Type entries.

Field Value:
12


CONSTANT_STRING

public static final int CONSTANT_STRING
Tag value for String entries.

Field Value:
8


CONSTANT_UTF8

public static final int CONSTANT_UTF8
Tag value for UTF8 entries.

Field Value:
1

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

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.


getTag

public int getTag()
Get the Entry's type tag.

Returns:
The Tag value of this entry


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.


read

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


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.


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.


Copyright B) 2000-2005 Apache Software Foundation. All Rights Reserved.