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.Value; 35 import com.caucho.quercus.expr.Expr; 36 37 public class NullAsFalseMarshal extends Marshal 38 { 39 protected Marshal _marshal; 40 41 public NullAsFalseMarshal(Marshal marshal) 42 { 43 _marshal = marshal; 44 } 45 46 public boolean isBoolean() 47 { 48 return _marshal.isBoolean(); 49 } 50 51 public boolean isString() 52 { 53 return _marshal.isString(); 54 } 55 56 public boolean isLong() 57 { 58 return _marshal.isLong(); 59 } 60 61 public boolean isDouble() 62 { 63 return _marshal.isDouble(); 64 } 65 66 public boolean isReadOnly() 67 { 68 return _marshal.isReadOnly(); 69 } 70 71 public boolean isReference() 72 { 73 return _marshal.isReference(); 74 } 75 76 public Object marshal(Env env, Expr expr, Class argClass) 77 { 78 return _marshal.marshal(env, expr, argClass); 79 } 80 81 public Object marshal(Env env, Value value, Class argClass) 82 { 83 return _marshal.marshal(env, value, argClass); 84 } 85 86 public Value unmarshal(Env env, Object value) 87 { 88 if (value == null) { 90 return BooleanValue.FALSE; 91 } 92 93 Value result = _marshal.unmarshal(env, value); 94 95 return (result == null || result.isNull()) ? BooleanValue.FALSE : result; 96 } 97 98 public String toString() 99 { 100 return "NullAsFalseMarshal[" + _marshal + "]"; 101 } 102 } 103 104 | Popular Tags |