public override StringValue serialize(Env env) { ArrayValue array = new ArrayValueImpl(); StringValue objStr = env.createString("obj"); StringValue valueStr = env.createString("inf"); ObjectEntry entry = _head; while (entry != null) { ArrayValue inner = new ArrayValueImpl(); inner.put(objStr, entry.getObject()); inner.put(valueStr, entry.getValue()); array.append(inner); entry = entry.getNext(); } string str = VariableModule.serialize(env, array); return(env.createString(str)); }
public override void unserialize(Env env, StringValue str) { Value unserializedValue = VariableModule.unserialize(env, str); ArrayValue array = unserializedValue.toArrayValue(env); StringValue objStr = env.createString("obj"); StringValue valueStr = env.createString("inf"); for (Map.Entry <Value, Value> entry : array.entrySet()) { ArrayValue inner = entry.getValue().toArrayValue(env); Value obj = inner.get(objStr); Value value = inner.get(valueStr); attach(env, obj, value); } }