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

Modifier and Type
Method
Description
`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 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.
`String`
`getStringValue()`
Get the value of this string constant.
`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.
`String`
`getTypeName()`
Return the type of constant this attribute represents, or null if not set.
`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 the `ConstantPool` index of the `ConstantEntry` 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(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 `ConstantPool` of the `ConstantEntry` 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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getField

public BCField getField()
Return the owning field.

### getValueIndex

public int getValueIndex()
Return the `ConstantPool` index of the `ConstantEntry` holding the value of this constant. Defaults to 0.

### setValueIndex

public void setValueIndex(int valueIndex)
Set the `ConstantPool` of the `ConstantEntry` holding the value of this constant.

### getTypeName

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

### getType

public 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 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(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 String getStringValue()
Get the value of this string constant.

### setStringValue

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

### 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 one.