diff --git a/src/main/java/org/redkale/convert/DeMember.java b/src/main/java/org/redkale/convert/DeMember.java index 5bee4def2..62c2240e2 100644 --- a/src/main/java/org/redkale/convert/DeMember.java +++ b/src/main/java/org/redkale/convert/DeMember.java @@ -103,10 +103,6 @@ public final class DeMember { return attribute.field().equals(name); } - public final void read(R in, T obj) { - this.attribute.set(obj, decoder.convertFrom(in)); - } - public final F read(R in) { return decoder.convertFrom(in); } diff --git a/src/main/java/org/redkale/convert/ObjectDecoder.java b/src/main/java/org/redkale/convert/ObjectDecoder.java index ccf8a4fb0..ecaa36d24 100644 --- a/src/main/java/org/redkale/convert/ObjectDecoder.java +++ b/src/main/java/org/redkale/convert/ObjectDecoder.java @@ -376,16 +376,15 @@ public class ObjectDecoder implements Decodeable { DeMemberInfo info = this.memberInfo; if (this.creatorConstructorMembers == null) { // 空构造函数 final T result = this.creator == null ? null : this.creator.create(); - boolean first = true; while (in.hasNext()) { DeMember member = in.readFieldName(info); in.readBlank(); if (member == null) { in.skipValue(); // 跳过不存在的属性的值 } else { - readDeMemberValue(in, member, result, first); + Object val = readDeMemberValue(in, member); + member.getAttribute().set(result, val); } - first = false; } in.readObjectE(typeClass); return result; @@ -394,14 +393,13 @@ public class ObjectDecoder implements Decodeable { final Object[] constructorParams = new Object[constructorFields.length]; final Object[][] otherParams = new Object[info.length()][2]; int oc = 0; - boolean first = true; while (in.hasNext()) { DeMember member = in.readFieldName(info); in.readBlank(); if (member == null) { in.skipValue(); // 跳过不存在的属性的值 } else { - Object val = readDeMemberValue(in, member, first); + Object val = readDeMemberValue(in, member); boolean flag = true; for (int i = 0; i < constructorFields.length; i++) { if (member == constructorFields[i]) { @@ -414,7 +412,6 @@ public class ObjectDecoder implements Decodeable { otherParams[oc++] = new Object[] {member.attribute, val}; } } - first = false; } in.readObjectE(typeClass); if (this.creator == null) { @@ -437,14 +434,10 @@ public class ObjectDecoder implements Decodeable { // do nothing } - protected Object readDeMemberValue(R in, DeMember member, boolean first) { + protected Object readDeMemberValue(R in, DeMember member) { return member.read(in); } - protected void readDeMemberValue(R in, DeMember member, T result, boolean first) { - member.read(in, result); - } - // --------------------------------------------------------------------------------- protected void setTag(DeMember member, int tag) { member.tag = tag; diff --git a/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java b/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java index 9a0742357..e03ee5da1 100644 --- a/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java +++ b/src/main/java/org/redkale/convert/pb/ProtobufObjectDecoder.java @@ -46,7 +46,7 @@ public class ProtobufObjectDecoder extends ObjectDecoder } @Override - protected Object readDeMemberValue(ProtobufReader in, DeMember member, boolean first) { + protected Object readDeMemberValue(ProtobufReader in, DeMember member) { Decodeable decoder = member.getDecoder(); if (decoder instanceof ProtobufTagDecodeable) { return ((ProtobufTagDecodeable) decoder).convertFrom(in, member); @@ -54,15 +54,4 @@ public class ProtobufObjectDecoder extends ObjectDecoder return member.read(in); } } - - @Override - protected void readDeMemberValue(ProtobufReader in, DeMember member, T result, boolean first) { - Decodeable decoder = member.getDecoder(); - if (decoder instanceof ProtobufTagDecodeable) { - Object val = ((ProtobufTagDecodeable) decoder).convertFrom(in, member); - member.getAttribute().set(result, val); - } else { - member.read(in, result); - } - } }