Package serp.bytecode
Class ConstantValue
- java.lang.Object
-
- serp.bytecode.Attributes
-
- serp.bytecode.Attribute
-
- serp.bytecode.ConstantValue
-
- All Implemented Interfaces:
BCEntity
,VisitAcceptor
public class ConstantValue extends Attribute
A constant value for a member field.- Author:
- Abe White
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acceptVisit(BCVisitor visit)
Accept a visit from aBCVisitor
, 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 one.double
getDoubleValue()
Get the value of this double constant.BCField
getField()
Return the owning field.float
getFloatValue()
Get the value of this float constant.int
getIntValue()
Get the value of this int constant, or 0 if not set.long
getLongValue()
Get the value of this long constant.java.lang.String
getStringValue()
Get the value of this string constant.java.lang.Class
getType()
Return the type of constant this attribute represents (String.class, int.class, etc), or null if not set.BCClass
getTypeBC()
Return the bytecode for the type of constant this attribute represents.java.lang.String
getTypeName()
Return the type of constant this attribute represents, or null if not set.java.lang.Object
getValue()
Return the value of this constant as an Object of the appropriate type (String, Integer, Double, etc), or null if not set.int
getValueIndex()
Return theConstantPool
index of theConstantEntry
holding the value of this constant.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(java.lang.String value)
Set the value of this string constant.void
setValue(java.lang.Object value)
Set the value of this constant using the appropriate wrapper Object type (String, Integer, Double, etc).void
setValueIndex(int valueIndex)
Set theConstantPool
of theConstantEntry
holding the value of this constant.-
Methods inherited from class serp.bytecode.Attribute
getClassLoader, getName, getNameIndex, getOwner, getPool, getProject, isValid
-
Methods inherited from class serp.bytecode.Attributes
addAttribute, addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, removeAttribute, removeAttribute, setAttributes
-
-
-
-
Method Detail
-
getField
public BCField getField()
Return the owning field.
-
getValueIndex
public int getValueIndex()
Return theConstantPool
index of theConstantEntry
holding the value of this constant. Defaults to 0.
-
setValueIndex
public void setValueIndex(int valueIndex)
Set theConstantPool
of theConstantEntry
holding the value of this constant.
-
getTypeName
public java.lang.String getTypeName()
Return the type of constant this attribute represents, or null if not set.
-
getType
public java.lang.Class getType()
Return the type of constant this attribute represents (String.class, int.class, etc), or null if not set.
-
getTypeBC
public BCClass getTypeBC()
Return the bytecode for the type of constant this attribute represents.
-
getValue
public java.lang.Object getValue()
Return the value of this constant as an Object of the appropriate type (String, Integer, Double, etc), or null if not set.
-
setValue
public void setValue(java.lang.Object value)
Set the value of this constant using the appropriate wrapper Object type (String, Integer, Double, etc). Types that are not directly supported will be converted accordingly if possible.
-
getIntValue
public int getIntValue()
Get the value of this int constant, or 0 if not set.
-
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 java.lang.String getStringValue()
Get the value of this string constant.
-
setStringValue
public void setStringValue(java.lang.String value)
Set the value of this string constant.
-
acceptVisit
public void acceptVisit(BCVisitor visit)
Description copied from interface:VisitAcceptor
Accept a visit from aBCVisitor
, 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 one.
-
-