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