1 29 30 package com.caucho.quercus.env; 31 32 import com.caucho.quercus.QuercusModuleException; 33 34 37 public class SessionVar extends Var { 38 41 public Value set(Value value) 42 { 43 if (value instanceof SessionArrayValue) { 44 return super.set(value); 45 } 46 else if (value instanceof ArrayValue) { 47 ArrayValue arrayValue = (ArrayValue) value; 48 ArrayValue sessionValue = (ArrayValue) getRawValue(); 49 50 sessionValue.clear(); 51 52 sessionValue.putAll(arrayValue); 53 54 return value; 55 } 56 else if (! value.isset()) { 57 return super.set(value); 58 } 59 else 60 throw new QuercusModuleException(L.l("Can't set this variable")); 61 } 62 63 66 protected Value setRaw(Value value) 67 { 68 throw new QuercusModuleException(L.l("Can't set this variable")); 69 } 70 } 71 72 | Popular Tags |