Object value = unserialize(setter.getParameterTypes()[0]);
setter.invoke(obj, new Object[]{value});
}
}
catch (Exception e) {
throw new HproseException(e.getMessage());
}
}
else {
unserialize();
}
}
}
else if (mode == HproseMode.FieldMode) {
for (int i = 0; i < count; i++) {
Field field = (Field) members.get(memberNames[i]);
if (field != null) {
Object value = unserialize(field.getType());
try {
field.set(obj, value);
}
catch (Exception e) {
throw new HproseException(e.getMessage());
}
}
else {
unserialize();
}
}
}
else {
for (int i = 0; i < count; i++) {
PropertyAccessor pa = (PropertyAccessor) members.get(memberNames[i]);
if (pa != null) {
Method setter = pa.setter;
Object value = unserialize(setter.getParameterTypes()[0]);
try {
setter.invoke(obj, new Object[]{value});
}
catch (Exception e) {
throw new HproseException(e.getMessage());
}
}
else {
unserialize();
}