DeMemberNode
This commit is contained in:
@@ -88,7 +88,7 @@ public class CustMessage2Test {
|
||||
setIndex(member2, 2);
|
||||
setPosition(member2, 2);
|
||||
initForEachEnMember(factory, member2);
|
||||
this.members = new EnMember[] {member1, member2};
|
||||
this.initFieldMember(new EnMember[] {member1, member2});
|
||||
}
|
||||
};
|
||||
encoder.init(factory);
|
||||
@@ -117,7 +117,7 @@ public class CustMessage2Test {
|
||||
setIndex(member2, 2);
|
||||
setPosition(member2, 2);
|
||||
initForEachDeMember(factory, member2);
|
||||
this.members = new DeMember[] {member1, member2};
|
||||
this.initFieldMember(new DeMember[] {member1, member2});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -76,7 +76,7 @@ public class CustMessageTest {
|
||||
setIndex(member, 1);
|
||||
setPosition(member, 1);
|
||||
initForEachEnMember(factory, member);
|
||||
this.members = new EnMember[] {member};
|
||||
this.initFieldMember(new EnMember[] {member});
|
||||
}
|
||||
};
|
||||
encoder.init(factory);
|
||||
@@ -96,7 +96,7 @@ public class CustMessageTest {
|
||||
setIndex(member, 1);
|
||||
setPosition(member, 1);
|
||||
initForEachDeMember(factory, member);
|
||||
this.members = new DeMember[] {member};
|
||||
this.initFieldMember(new DeMember[] {member});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,6 +41,8 @@ public class InnerCoderEntity {
|
||||
final org.redkale.convert.ConvertFactory factory) {
|
||||
return new SimpledCoder<Reader, Writer, InnerCoderEntity>() {
|
||||
|
||||
private DeMemberNode memberNode;
|
||||
|
||||
private Map<String, DeMember> deMemberFieldMap;
|
||||
|
||||
private Map<Integer, DeMember> deMemberTagMap;
|
||||
@@ -64,6 +66,7 @@ public class InnerCoderEntity {
|
||||
this.deMemberFieldMap.put(member.getAttribute().field(), member);
|
||||
this.deMemberTagMap.put(member.getTag(), member);
|
||||
}
|
||||
this.memberNode = DeMemberNode.create(deMembers);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -85,7 +88,7 @@ public class InnerCoderEntity {
|
||||
int index = 0;
|
||||
final Object[] params = new Object[deMembers.length];
|
||||
while (in.hasNext()) {
|
||||
DeMember member = in.readFieldName(deMembers, deMemberFieldMap, deMemberTagMap); // 读取字段名
|
||||
DeMember member = in.readFieldName(memberNode, deMemberFieldMap, deMemberTagMap); // 读取字段名
|
||||
in.readBlank(); // 读取字段名与字段值之间的间隔符,JSON则是跳过冒号:
|
||||
if (member == null) {
|
||||
in.skipValue(); // 跳过不存在的字段的值, 一般不会发生
|
||||
|
||||
@@ -108,7 +108,7 @@ public class PBCustMessage2Test {
|
||||
setIndex(member2, 2);
|
||||
setPosition(member2, 2);
|
||||
initForEachEnMember(factory, member2);
|
||||
this.members = new EnMember[] {member1, member2};
|
||||
this.initFieldMember(new EnMember[] {member1, member2});
|
||||
}
|
||||
};
|
||||
encoder.init(factory);
|
||||
@@ -137,7 +137,7 @@ public class PBCustMessage2Test {
|
||||
setIndex(member2, 2);
|
||||
setPosition(member2, 2);
|
||||
initForEachDeMember(factory, member2);
|
||||
this.members = new DeMember[] {member1, member2};
|
||||
this.initFieldMember(new DeMember[] {member1, member2});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -87,7 +87,7 @@ public class PBCustMessageTest {
|
||||
setIndex(member, 1);
|
||||
setPosition(member, 1);
|
||||
initForEachEnMember(factory, member);
|
||||
this.members = new EnMember[] {member};
|
||||
this.initFieldMember(new EnMember[] {member});
|
||||
}
|
||||
};
|
||||
encoder.init(factory);
|
||||
@@ -107,7 +107,7 @@ public class PBCustMessageTest {
|
||||
setIndex(member, 1);
|
||||
setPosition(member, 1);
|
||||
initForEachDeMember(factory, member);
|
||||
this.members = new DeMember[] {member};
|
||||
this.initFieldMember(new DeMember[] {member});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user