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

java.lang.Object
  extended by fr.umlv.corosol.classfile.constant.impl.AbstractJConstant
      extended by fr.umlv.corosol.classfile.constant.impl.DefaultJConstantFieldref
All Implemented Interfaces:
JConstant, JConstantFieldref, JClassFileItem, JObject

public class DefaultJConstantFieldref
extends AbstractJConstant
implements JConstantFieldref

The default implementation of the fr.umlv.corosol.classfile.JConstantFieldref 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
DefaultJConstantFieldref()
          Default constructor.
DefaultJConstantFieldref(JConstantPool cpool, int classIndex, int nameAndTypeIndex)
          Creates a new Constant_Fieldref_info entry.
 
Method Summary
 int getClassIndex()
          Returns the index of a CONSTANT_Class_info entry representing a valid fully qualified class or interface name.
 java.lang.String getClassName()
          Returns the fully qualified class or interface name.
 java.lang.String getDescriptor()
          Returns a field descriptor.
 java.lang.String getName()
          Returns a field name.
 int getNameAndTypeIndex()
          Returns the index of a CONSTANT_NameAndType_info entry representing the name and the descriptor of a field.
 JField getResolvedField()
           
 boolean isResolved()
           
 void readItem(JClassFileInput in)
          Extracts the data of this constant pool entry via the specified input stream.
 void setClassIndex(int classIndex)
          Sets the index of a CONSTANT_Class_info entry representing a valid fully qualified class or interface name.
 void setNameAndTypeIndex(int nameAndTypeIndex)
          Sets the index of a CONSTANT_NameAndType_info entry representing the name and the descriptor of a field.
 void setResolvedField(JField field)
           
 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

DefaultJConstantFieldref

public DefaultJConstantFieldref()
Default constructor.


DefaultJConstantFieldref

public DefaultJConstantFieldref(JConstantPool cpool,
                                int classIndex,
                                int nameAndTypeIndex)
Creates a new Constant_Fieldref_info entry.

Parameters:
cpool - the constant pool
classIndex - an index of a Constant_Class_info entry
nameAndTypeIndex - an index of a Constant_NameAndType_info entry
Method Detail

getClassName

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

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

getName

public java.lang.String getName()
Returns a field name.

Specified by:
getName in interface JConstantFieldref
Returns:
a field name

getDescriptor

public java.lang.String getDescriptor()
Returns a field descriptor.

Specified by:
getDescriptor in interface JConstantFieldref
Returns:
a field descriptor

getClassIndex

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

Specified by:
getClassIndex in interface JConstantFieldref

getNameAndTypeIndex

public int getNameAndTypeIndex()
Returns the index of a CONSTANT_NameAndType_info entry representing the name and the descriptor of a field.

Specified by:
getNameAndTypeIndex in interface JConstantFieldref

setClassIndex

public void setClassIndex(int classIndex)
Sets the index of a CONSTANT_Class_info entry representing a valid fully qualified class or interface name.

Specified by:
setClassIndex in interface JConstantFieldref
Parameters:
classIndex - an index of a constant pool entry representing the name of the declaring class or interface of a field

setNameAndTypeIndex

public void setNameAndTypeIndex(int nameAndTypeIndex)
Sets the index of a CONSTANT_NameAndType_info entry representing the name and the descriptor of a field.

Specified by:
setNameAndTypeIndex in interface JConstantFieldref
Parameters:
nameAndTypeIndex - an index of a constant pool entry representing the name and the descriptor of a field

readItem

public void readItem(JClassFileInput in)
              throws java.io.IOException
Extracts the data of this constant pool entry 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

getResolvedField

public JField getResolvedField()
Specified by:
getResolvedField in interface JConstantFieldref

setResolvedField

public void setResolvedField(JField field)
Specified by:
setResolvedField in interface JConstantFieldref

isResolved

public boolean isResolved()
Specified by:
isResolved in interface JConstantFieldref