Пример #1
0
  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);
    }
  }
Пример #2
0
  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);
    }
  }
Пример #3
0
 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);
   }
 }
Пример #4
0
 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);
   }
 }