public Object readMap(AbstractHessianInput in, Object obj) throws IOException { try { int ref = in.addRef(obj); while (!in.isEnd()) { Object key = in.readObject(); FieldDeserializer deser = (FieldDeserializer) _fieldMap.get(key); if (deser != null) deser.deserialize(in, obj); else in.readObject(); } in.readMapEnd(); Object resolve = resolve(obj); if (obj != resolve) in.setRef(ref, resolve); return resolve; } catch (IOException e) { throw e; } catch (Exception e) { throw new IOExceptionWrapper(e); } }
public Object readList(AbstractHessianInput in, int length) throws IOException { Collection list = createList(); in.addRef(list); while (!in.isEnd()) list.add(in.readObject()); in.readEnd(); return list; }
public Object readMap(AbstractHessianInput in) throws IOException { String name = null; while (!in.isEnd()) { String key = in.readString(); if (key.equals("name")) name = in.readString(); else in.readObject(); } in.readMapEnd(); Object obj = create(name); in.addRef(obj); return obj; }
public Object readMap(AbstractHessianInput in) throws IOException { int ref = in.addRef(null); long initValue = Long.MIN_VALUE; while (!in.isEnd()) { String key = in.readString(); if (key.equals("value")) initValue = in.readUTCDate(); else in.readString(); } in.readMapEnd(); Object value = create(initValue); in.setRef(ref, value); return value; }