1 package serp.bytecode.lowlevel; 2 3 import java.io.*; 4 5 import serp.bytecode.visitor.*; 6 7 /*** 8 * A constant float value in the constant pool. 9 * 10 * @author Abe White 11 */ 12 public class FloatEntry extends Entry implements ConstantEntry { 13 private float _value = 0.0F; 14 15 /*** 16 * Default constructor. 17 */ 18 public FloatEntry() { 19 } 20 21 /*** 22 * Constructor. 23 * 24 * @param value the constant float value of this entry 25 */ 26 public FloatEntry(float value) { 27 _value = value; 28 } 29 30 public int getType() { 31 return Entry.FLOAT; 32 } 33 34 /*** 35 * Return the value of this constant. 36 */ 37 public float getValue() { 38 return _value; 39 } 40 41 /*** 42 * Set the value of this constant. 43 */ 44 public void setValue(float value) { 45 Object key = beforeModify(); 46 _value = value; 47 afterModify(key); 48 } 49 50 public Object getConstant() { 51 return new Float(getValue()); 52 } 53 54 public void setConstant(Object value) { 55 setValue(((Number) value).floatValue()); 56 } 57 58 public void acceptVisit(BCVisitor visit) { 59 visit.enterFloatEntry(this); 60 visit.exitFloatEntry(this); 61 } 62 63 void readData(DataInput in) throws IOException { 64 _value = in.readFloat(); 65 } 66 67 void writeData(DataOutput out) throws IOException { 68 out.writeFloat(_value); 69 } 70 }