1 29 30 package com.caucho.quercus.function; 31 32 import com.caucho.quercus.env.DoubleValue; 33 import com.caucho.quercus.env.Env; 34 import com.caucho.quercus.env.Value; 35 import com.caucho.quercus.expr.Expr; 36 37 public class DoubleMarshal extends Marshal 38 { 39 public static final DoubleMarshal MARSHAL = new DoubleMarshal(); 40 41 public boolean isDouble() 42 { 43 return true; 44 } 45 46 public boolean isReadOnly() 47 { 48 return true; 49 } 50 51 public Object marshal(Env env, Expr expr, Class expectedClass) 52 { 53 return new Double (expr.evalDouble(env)); 54 } 55 56 public Object marshal(Env env, Value value, Class expectedClass) 57 { 58 return new Double (value.toDouble()); 59 } 60 61 public Value unmarshal(Env env, Object value) 62 { 63 if (value == null) 64 return DoubleValue.ZERO; 65 else 66 return new DoubleValue(((Number ) value).doubleValue()); 67 } 68 } 69 | Popular Tags |