edu.rice.cs.cunit.classFile.constantPool
Class StringPoolInfo

java.lang.Object
  extended by edu.rice.cs.cunit.classFile.constantPool.APoolInfo
      extended by edu.rice.cs.cunit.classFile.constantPool.StringPoolInfo

public class StringPoolInfo
extends APoolInfo

Represents a string in the constant pool.

Author:
Mathias Ricken

Field Summary
private  AUTFPoolInfo _utf
          Utf information.
private  short _utfIndex
          Utf index.
 
Fields inherited from class edu.rice.cs.cunit.classFile.constantPool.APoolInfo
_constantPool, _type, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_String, CONSTANT_Utf8_ASCII, CONSTANT_Utf8_Unicode
 
Constructor Summary
StringPoolInfo(AUTFPoolInfo utf, ConstantPool cp)
          Constructor.
StringPoolInfo(java.io.DataInputStream dis, ConstantPool cp)
          Constructor reading from a stream.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Compare this object and another one.
<R,D> R
execute(IPoolInfoVisitor<R,D> visitor, D data)
          Execute a visitor.
 AUTFPoolInfo getUtf()
          Accessor for the utf information.
 int hashCode()
          Return a hash code.
 void reindex()
          Reindex constant pool indices.
 void resolve()
          Resolve constant pool objects.
 void setUtf(AUTFPoolInfo utf)
          Mutator for the utf information.
 java.lang.String toString()
          Return a human-readable version of this constant pool object.
 java.lang.String toStringVerbose()
          Return a human-readable version of this constant pool object.
 void write(java.io.DataOutputStream dos)
          Write this constant pool object into the stream, including the type byte.
 
Methods inherited from class edu.rice.cs.cunit.classFile.constantPool.APoolInfo
inPool, read
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_utf

private AUTFPoolInfo _utf
Utf information.


_utfIndex

private short _utfIndex
Utf index.

Constructor Detail

StringPoolInfo

public StringPoolInfo(AUTFPoolInfo utf,
                      ConstantPool cp)
Constructor.

Parameters:
utf - utf information

StringPoolInfo

public StringPoolInfo(java.io.DataInputStream dis,
                      ConstantPool cp)
               throws java.io.IOException
Constructor reading from a stream.

Parameters:
dis - input stream
cp - constant pool
Throws:
java.io.IOException
Method Detail

getUtf

public AUTFPoolInfo getUtf()
Accessor for the utf information.

Returns:
utf information

setUtf

public void setUtf(AUTFPoolInfo utf)
Mutator for the utf information.

Parameters:
utf - new utf information

write

public void write(java.io.DataOutputStream dos)
           throws java.io.IOException
Write this constant pool object into the stream, including the type byte.

Specified by:
write in class APoolInfo
Parameters:
dos - stream
Throws:
java.io.IOException

resolve

public void resolve()
Resolve constant pool objects. This makes sure that the object links match the index links.

Specified by:
resolve in class APoolInfo

reindex

public void reindex()
Reindex constant pool indices. This makes sure the index links match the object links.

Specified by:
reindex in class APoolInfo

toStringVerbose

public java.lang.String toStringVerbose()
Return a human-readable version of this constant pool object.

Specified by:
toStringVerbose in class APoolInfo
Returns:
string

toString

public java.lang.String toString()
Return a human-readable version of this constant pool object.

Specified by:
toString in class APoolInfo
Returns:
string

hashCode

public int hashCode()
Return a hash code.

Specified by:
hashCode in class APoolInfo
Returns:
hash code

equals

public boolean equals(java.lang.Object obj)
Compare this object and another one.

Specified by:
equals in class APoolInfo
Parameters:
obj - other object
Returns:
true if the same

execute

public <R,D> R execute(IPoolInfoVisitor<R,D> visitor,
                       D data)
Execute a visitor.

Specified by:
execute in class APoolInfo
Parameters:
visitor - visitor
data - visitor-specific parameter
Returns:
visitor-specific return value