public Object readObject(AbstractHessianInput in, Object obj, String[] fieldNames) throws IOException { try { int ref = in.addRef(obj); for (int i = 0; i < fieldNames.length; i++) { String name = fieldNames[i]; FieldDeserializer deser = (FieldDeserializer) _fieldMap.get(name); if (deser != null) deser.deserialize(in, obj); else in.readObject(); } Object resolve = resolve(obj); if (obj != resolve) in.setRef(ref, resolve); return resolve; } catch (IOException e) { throw e; } catch (Exception e) { throw new IOExceptionWrapper(obj.getClass().getName() + ":" + e, e); } }
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); } }
private Object readObject(AbstractHessianInput in, Object obj, FieldDeserializer[] fields) throws IOException { try { int ref = in.addRef(obj); for (FieldDeserializer reader : fields) { reader.deserialize(in, obj); } Object resolve = resolve(in, obj); if (obj != resolve) in.setRef(ref, resolve); return resolve; } catch (IOException e) { throw e; } catch (Exception e) { throw new IOExceptionWrapper(obj.getClass().getName() + ":" + e, e); } }
public Object readObject(AbstractHessianInput in, Object obj, String[] fieldNames) throws IOException { try { int ref = in.addRef(obj); for (String fieldName : fieldNames) { FieldDeserializer reader = _fieldMap.get(fieldName); if (reader != null) reader.deserialize(in, obj); else in.readObject(); } Object resolve = resolve(in, obj); if (obj != resolve) in.setRef(ref, resolve); return resolve; } catch (IOException e) { throw e; } catch (Exception e) { throw new IOExceptionWrapper(obj.getClass().getName() + ":" + e, e); } }