Ejemplo n.º 1
0
    @SuppressWarnings("unchecked")
    @Override
    protected void _writeTo(SerializationContext ctx, Object inst, BinaryOutput dst)
        throws IOException, IllegalArgumentException, IllegalAccessException {
      try {
        final Object[] ar = (Object[]) _field.get(inst);
        if (ar == null) return;

        for (int i = 0; i < ar.length; i++) {
          if (ar[i] == null) continue;
          else if (_component_type_ba != null) {
            _component_type_ba.writeTo(ctx, ar[i], dst);
          } else {
            _ba_fac.getBinaryAccessor(ar[i].getClass()).writeTo(ctx, ar[i], dst);
          }
        }
        //				if (_fields_type_ba == null) {
        //					final BinaryAccessor ba = _ba_fac.getBinaryAccessor(obj.getClass());
        //					ba.writeTo(ctx, obj, dst);
        //				} else {
        //					_fields_type_ba.writeTo(ctx, obj, dst);
        //				}
        //				for (int i = 0; i < ar.length; _component_type_ba.writeTo(ctx, ar[i++], dst));
      } catch (Exception e) {
        throw new IOException(e);
      }
    }