1 29 30 package com.caucho.quercus.function; 31 32 import com.caucho.quercus.env.BooleanValue; 33 import com.caucho.quercus.env.Env; 34 import com.caucho.quercus.env.NullValue; 35 import com.caucho.quercus.env.Value; 36 import com.caucho.quercus.expr.Expr; 37 38 41 public class BooleanMarshal extends Marshal { 42 public static final BooleanMarshal MARSHAL = new BooleanMarshal(); 43 44 public boolean isBoolean() 45 { 46 return true; 47 } 48 49 public boolean isReadOnly() 50 { 51 return true; 52 } 53 54 public Object marshal(Env env, Expr expr, Class expectedClass) 55 { 56 return expr.evalBoolean(env) ? Boolean.TRUE : Boolean.FALSE; 57 } 58 59 public Object marshal(Env env, Value value, Class expectedClass) 60 { 61 return value.toBoolean() ? Boolean.TRUE : Boolean.FALSE; 62 } 63 64 public Value unmarshal(Env env, Object value) 65 { 66 if (value == null) 67 return NullValue.NULL; 68 else 69 return Boolean.TRUE.equals(value) 70 ? BooleanValue.TRUE 71 : BooleanValue.FALSE; 72 } 73 } 74 | Popular Tags |