fr.umlv.corosol.classfile.constant.impl
Class DefaultJConstantClass

java.lang.Object
  extended by fr.umlv.corosol.classfile.constant.impl.AbstractJConstant
      extended by fr.umlv.corosol.classfile.constant.impl.DefaultJConstantClass
All Implemented Interfaces:
JConstant, JConstantClass, JClassFileItem, JObject
Direct Known Subclasses:
JDK1_5JConstantClass

public class DefaultJConstantClass
extends AbstractJConstant
implements JConstantClass

The default implementation of the fr.umlv.corosol.classfile.constant.JConstantClass interface.

Author:
Christophe Deleray

Field Summary
 
Fields inherited from interface fr.umlv.corosol.classfile.constant.JConstant
CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELDREF, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACE_METHODREF, CONSTANT_LONG, CONSTANT_METHODREF, CONSTANT_NAME_AND_TYPE, CONSTANT_STRING, CONSTANT_UTF8
 
Constructor Summary
DefaultJConstantClass()
          The default constructor.
DefaultJConstantClass(JConstantPool constantPool, int nameIndex)
          Creates a new Constant_Class_info entry.
 
Method Summary
 java.lang.String getClassName()
          Returns the fully qualified class or interface name.
 int getNameIndex()
          Returns the index of a CONSTANT_Utf8_info entry representing a valid fully qualified class or interface name.
 void readItem(JClassFileInput in)
          Extracts the data of this constant pool entry item via the specified input stream.
 void setNameIndex(int nameIndex)
          Sets the index of the CONSTANT_Utf8_info entry representing a valid fully qualified class or interface name.
 java.lang.String toString()
          Returns a string representation of this constant pool entry.
 void writeItem(JClassFileOutput out)
          Writes the data of this constant pool entry to a classfile via the specified output stream.
 
Methods inherited from class fr.umlv.corosol.classfile.constant.impl.AbstractJConstant
getConstantPool, getLength, getTag, setConstantPool
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface fr.umlv.corosol.classfile.constant.JConstant
getLength, getTag
 
Methods inherited from interface fr.umlv.corosol.classfile.JClassFileItem
getConstantPool, setConstantPool
 

Constructor Detail

DefaultJConstantClass

public DefaultJConstantClass()
The default constructor.


DefaultJConstantClass

public DefaultJConstantClass(JConstantPool constantPool,
                             int nameIndex)
Creates a new Constant_Class_info entry.

Parameters:
constantPool - the constant pool
nameIndex - an index of an Constant_utf8_info entry that contains a class name
Method Detail

getClassName

public java.lang.String getClassName()
Returns the fully qualified class or interface name.

Specified by:
getClassName in interface JConstantClass
Returns:
a fully qualified class or interface name

setNameIndex

public void setNameIndex(int nameIndex)
Sets the index of the CONSTANT_Utf8_info entry representing a valid fully qualified class or interface name.

Specified by:
setNameIndex in interface JConstantClass
Parameters:
nameIndex - the index of the entry containing the name of a class or an interface

getNameIndex

public int getNameIndex()
Returns the index of a CONSTANT_Utf8_info entry representing a valid fully qualified class or interface name.

Specified by:
getNameIndex in interface JConstantClass

readItem

public void readItem(JClassFileInput in)
              throws java.io.IOException
Extracts the data of this constant pool entry item via the specified input stream.

Specified by:
readItem in interface JClassFileItem
Parameters:
in - a class file input stream
Throws:
java.io.IOException - if an I/O error occurs when reading the datas of this constant pool entry

writeItem

public void writeItem(JClassFileOutput out)
               throws java.io.IOException
Writes the data of this constant pool entry to a classfile via the specified output stream.

Specified by:
writeItem in interface JClassFileItem
Parameters:
out - a class file output stream
Throws:
java.io.IOException - if an I/O error occurs when writing into the classfile

toString

public java.lang.String toString()
Returns a string representation of this constant pool entry.

Specified by:
toString in interface JConstant
Specified by:
toString in class AbstractJConstant
Returns:
a string representing this constant pool entry