TechTrader Bytecode Toolkit

com.techtrader.modules.tools.bytecode
Class ConstantValueAttribute

java.lang.Object
  |
  +--com.techtrader.modules.tools.bytecode.BCEntity
        |
        +--com.techtrader.modules.tools.bytecode.Attribute
              |
              +--com.techtrader.modules.tools.bytecode.ConstantValueAttribute

public class ConstantValueAttribute
extends Attribute

Representation of a constant value in a .class file.

Author:
Abe White

Fields inherited from class com.techtrader.modules.tools.bytecode.Attribute
_nameIndex, _owner
 
Constructor Summary
ConstantValueAttribute(int nameIndex, BCEntity owner)
          Protected constructor.
 
Method Summary
 void acceptVisit(BCVisitor visit)
          Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object.
protected  void copy(Attribute other)
          Copy the information from the given attribute to this one.
 double getDoubleValue()
          Get the value of this double constant.
 float getFloatValue()
          Get the value of this float constant.
 int getIntValue()
          Get the value of this int constant.
 int getLength()
          Return the length of the .class representation of this attribute, in bytes.
 long getLongValue()
          Get the value of this long constant.
 String getStringValue()
          Get the value of this String constant.
 Class getType()
          Return the type of constant this attribute represents, or null if the constant has not been set.
 String getTypeName()
          Return the type of constant this attribute represents, or null if the constant has not been set.
 Object getValue()
          Return the value of this constant as an Object of the appropriate type (String, Integer, Double, etc).
 int getValueIndex()
          Get the index in the constnat pool of the Entry describeing this constant; this might be a StringEntry, IntEntry, DoubleEntry, etc.
protected  void readData(DataInput in, int length)
          Should be overridden by subclasses to read their internal data from the given stream, up to length bytes, excluding the name index.
 void setDoubleValue(double value)
          Set the value of this double constant.
 void setFloatValue(float value)
          Set the value of this float constant.
 void setIntValue(int value)
          Set the value of this int constant.
 void setLongValue(long value)
          Set the value of this long constant.
 void setStringValue(String value)
          Set the value of this String constant.
 void setValue(Object value)
          Set the value of this constant using the appropriate wrapper Object type (String, Integer, Double, etc).
 void setValueIndex(int valueIndex)
          Set the index in the constnat pool of the Entry describing this constant; this might be a StringEntry, IntEntry, DoubleEntry, etc.
protected  void writeData(DataOutput out, int length)
          Should be overridden by subclasses to write their internal data to the given stream, up to length bytes, excluding the name index.
 
Methods inherited from class com.techtrader.modules.tools.bytecode.Attribute
createAttribute, getName, getNameIndex, getOwner, getPool, invalidate
 
Methods inherited from class com.techtrader.modules.tools.bytecode.BCEntity
addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, importAttribute, importAttributes, readAttributes, removeAttribute, removeAttribute, visitAttributes, writeAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstantValueAttribute

public ConstantValueAttribute(int nameIndex,
                              BCEntity owner)
Protected constructor.
Method Detail

getValueIndex

public int getValueIndex()
Get the index in the constnat pool of the Entry describeing this constant; this might be a StringEntry, IntEntry, DoubleEntry, etc.

setValueIndex

public void setValueIndex(int valueIndex)
Set the index in the constnat pool of the Entry describing this constant; this might be a StringEntry, IntEntry, DoubleEntry, etc.

getType

public Class getType()
Return the type of constant this attribute represents, or null if the constant has not been set.

getTypeName

public String getTypeName()
Return the type of constant this attribute represents, or null if the constant has not been set.

getValue

public Object getValue()
Return the value of this constant as an Object of the appropriate type (String, Integer, Double, etc).

setValue

public void setValue(Object value)
Set the value of this constant using the appropriate wrapper Object type (String, Integer, Double, etc). It is an error to change the type of a constant once it has been set.

getIntValue

public int getIntValue()
Get the value of this int constant.

setIntValue

public void setIntValue(int value)
Set the value of this int constant.

getFloatValue

public float getFloatValue()
Get the value of this float constant.

setFloatValue

public void setFloatValue(float value)
Set the value of this float constant.

getDoubleValue

public double getDoubleValue()
Get the value of this double constant.

setDoubleValue

public void setDoubleValue(double value)
Set the value of this double constant.

getLongValue

public long getLongValue()
Get the value of this long constant.

setLongValue

public void setLongValue(long value)
Set the value of this long constant.

getStringValue

public String getStringValue()
Get the value of this String constant.

setStringValue

public void setStringValue(String value)
Set the value of this String constant.

getLength

public int getLength()
Description copied from class: Attribute
Return the length of the .class representation of this attribute, in bytes.
Overrides:
getLength in class Attribute

copy

protected void copy(Attribute other)
Description copied from class: Attribute
Copy the information from the given attribute to this one.
Overrides:
copy in class Attribute

readData

protected void readData(DataInput in,
                        int length)
                 throws IOException
Description copied from class: Attribute
Should be overridden by subclasses to read their internal data from the given stream, up to length bytes, excluding the name index.
Overrides:
readData in class Attribute

writeData

protected void writeData(DataOutput out,
                         int length)
                  throws IOException
Description copied from class: Attribute
Should be overridden by subclasses to write their internal data to the given stream, up to length bytes, excluding the name index.
Overrides:
writeData in class Attribute

acceptVisit

public void acceptVisit(BCVisitor visit)
Description copied from interface: VisitAcceptor
Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object.

TechTrader Bytecode Toolkit