javar.constantpool
Class CONSTANT_Classref

java.lang.Object
  |
  +--javar.constantpool.ConstantPoolEntry
        |
        +--javar.constantpool.CONSTANT_Classref

public class CONSTANT_Classref
extends ConstantPoolEntry

This is the utf8 class that represents an entry in the constant pool

Author:
Ben Litchfield

Field Summary
 
Fields inherited from class javar.constantpool.ConstantPoolEntry
CLASS_CODE, DOUBLE_CODE, FIELD_REF_CODE, FLOAT_CODE, index, INTEGER_CODE, INTERFACE_METHOD_REF_CODE, LONG_CODE, METHOD_REF_CODE, NAME_AND_TYPE_CODE, pool, STRING_CODE, UTF8_CODE
 
Constructor Summary
CONSTANT_Classref(ConstantPool p)
          Constructor
CONSTANT_Classref(ConstantPool p, long nameIndex)
          Constructor
 
Method Summary
 String getClassName()
          This will return the fully qualified class name that contains both the name of the class and the package for the class.
 byte getCode()
          This is the code for this constant
 String getPackageName()
          This will return the name of this classes package.
 String getShortClassName()
          This will return the name of this class without the package.
 long getUTF8Index()
          This will get the utf8 index that is this classes name
 boolean isSamePackage(CONSTANT_Classref compare)
          This will tell if two Classref objects are from the same package
 boolean isSamePackage(String className)
          This will tell if two Classref objects are from the same package
 void load(DataInputStream in)
          This will read in whatever data is neccessary to create this entry
 void setUTF8Index(long index)
          This will set the utf8 index that is this classes name
 byte[] toBytes()
          This will take the entry and convert it into bytes.
 String toString()
          This will print a string rep of the class
 
Methods inherited from class javar.constantpool.ConstantPoolEntry
getIndex, setIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CONSTANT_Classref

public CONSTANT_Classref(ConstantPool p)
Constructor


CONSTANT_Classref

public CONSTANT_Classref(ConstantPool p,
                         long nameIndex)
Constructor

Method Detail

getCode

public byte getCode()
This is the code for this constant

Specified by:
getCode in class ConstantPoolEntry
Returns:
code for constant

getUTF8Index

public long getUTF8Index()
This will get the utf8 index that is this classes name

Returns:
the Utf8 index

setUTF8Index

public void setUTF8Index(long index)
This will set the utf8 index that is this classes name

Parameters:
index - an index in the constant pool that will refer to this classes name

load

public void load(DataInputStream in)
This will read in whatever data is neccessary to create this entry

Specified by:
load in class ConstantPoolEntry
Parameters:
in - the stream to read the data from

toString

public String toString()
This will print a string rep of the class

Overrides:
toString in class Object

isSamePackage

public boolean isSamePackage(String className)
This will tell if two Classref objects are from the same package


isSamePackage

public boolean isSamePackage(CONSTANT_Classref compare)
This will tell if two Classref objects are from the same package

Parameters:
compare - the object to compare packages with

toBytes

public byte[] toBytes()
               throws IOException
This will take the entry and convert it into bytes.

Specified by:
toBytes in class ConstantPoolEntry
Returns:
the bytes that represent this entry.
IOException

getClassName

public String getClassName()
This will return the fully qualified class name that contains both the name of the class and the package for the class.

Returns:
The name of the class.

getShortClassName

public String getShortClassName()
This will return the name of this class without the package.

Returns:
The name of this class;

getPackageName

public String getPackageName()
This will return the name of this classes package. A non-null empty string will be returned if there is no package.

Returns:
The name of the package.