pb
This commit is contained in:
@@ -338,7 +338,7 @@ public class ObjectEncoder<W extends Writer, T> implements Encodeable<W, T> {
|
|||||||
int maxPosition = 0;
|
int maxPosition = 0;
|
||||||
for (EnMember member : members) {
|
for (EnMember member : members) {
|
||||||
maxPosition = member.getPosition();
|
maxPosition = member.getPosition();
|
||||||
out.writeObjectField(member, value);
|
out.writeFieldValue(member, value);
|
||||||
}
|
}
|
||||||
if (out.objExtFunc != null) {
|
if (out.objExtFunc != null) {
|
||||||
ConvertField[] extFields = out.objExtFunc.apply(value);
|
ConvertField[] extFields = out.objExtFunc.apply(value);
|
||||||
@@ -347,7 +347,7 @@ public class ObjectEncoder<W extends Writer, T> implements Encodeable<W, T> {
|
|||||||
for (ConvertField en : extFields) {
|
for (ConvertField en : extFields) {
|
||||||
if (en != null) {
|
if (en != null) {
|
||||||
maxPosition++;
|
maxPosition++;
|
||||||
out.writeObjectField(
|
out.writeFieldValue(
|
||||||
en.getName(),
|
en.getName(),
|
||||||
en.getType(),
|
en.getType(),
|
||||||
Math.max(en.getPosition(), maxPosition),
|
Math.max(en.getPosition(), maxPosition),
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ public abstract class Writer {
|
|||||||
* @param obj 写入的对象
|
* @param obj 写入的对象
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void writeObjectField(final EnMember member, Object obj) {
|
public void writeFieldValue(final EnMember member, Object obj) {
|
||||||
Object value;
|
Object value;
|
||||||
if (objFieldFunc == null) {
|
if (objFieldFunc == null) {
|
||||||
value = member.getFieldValue(obj);
|
value = member.getFieldValue(obj);
|
||||||
@@ -155,7 +155,7 @@ public abstract class Writer {
|
|||||||
* @param value 写入的字段对象
|
* @param value 写入的字段对象
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void writeObjectField(
|
public void writeFieldValue(
|
||||||
final String fieldName, Type fieldType, int fieldPos, Encodeable anyEncoder, Object value) {
|
final String fieldName, Type fieldType, int fieldPos, Encodeable anyEncoder, Object value) {
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
if (nullable()) {
|
if (nullable()) {
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ public abstract class ProtobufDynEncoder<T> extends ProtobufObjectEncoder<T> {
|
|||||||
mv.visitMethodInsn(
|
mv.visitMethodInsn(
|
||||||
INVOKEVIRTUAL,
|
INVOKEVIRTUAL,
|
||||||
pbwriterName,
|
pbwriterName,
|
||||||
"writeObjectField",
|
"writeFieldValue",
|
||||||
"(" + enMemberDesc + objectDesc + ")V",
|
"(" + enMemberDesc + objectDesc + ")V",
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class ProtobufObjectEncoder<T> extends ObjectEncoder<ProtobufWriter, T>
|
|||||||
int maxPosition = 0;
|
int maxPosition = 0;
|
||||||
for (EnMember fieldMember : members) {
|
for (EnMember fieldMember : members) {
|
||||||
maxPosition = fieldMember.getPosition();
|
maxPosition = fieldMember.getPosition();
|
||||||
subout.writeObjectField(fieldMember, value);
|
subout.writeFieldValue(fieldMember, value);
|
||||||
}
|
}
|
||||||
if (subout.objExtFunc() != null) {
|
if (subout.objExtFunc() != null) {
|
||||||
ConvertField[] extFields = subout.objExtFunc().apply(value);
|
ConvertField[] extFields = subout.objExtFunc().apply(value);
|
||||||
@@ -51,7 +51,7 @@ public class ProtobufObjectEncoder<T> extends ObjectEncoder<ProtobufWriter, T>
|
|||||||
for (ConvertField en : extFields) {
|
for (ConvertField en : extFields) {
|
||||||
if (en != null) {
|
if (en != null) {
|
||||||
maxPosition++;
|
maxPosition++;
|
||||||
subout.writeObjectField(
|
subout.writeFieldValue(
|
||||||
en.getName(),
|
en.getName(),
|
||||||
en.getType(),
|
en.getType(),
|
||||||
Math.max(en.getPosition(), maxPosition),
|
Math.max(en.getPosition(), maxPosition),
|
||||||
|
|||||||
@@ -1054,7 +1054,7 @@ public abstract class ProtobufWriter extends Writer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ClassDepends // objExtFunc扩展字段时member=null
|
@ClassDepends // objExtFunc扩展字段时member=null
|
||||||
public final void writeObjectField(@Nullable EnMember member, Object obj) {
|
public final void writeFieldValue(@Nullable EnMember member, Object obj) {
|
||||||
Object value;
|
Object value;
|
||||||
if (objFieldFunc == null) {
|
if (objFieldFunc == null) {
|
||||||
value = member.getFieldValue(obj);
|
value = member.getFieldValue(obj);
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class InnerCoderEntityTest {
|
|||||||
}
|
}
|
||||||
out.writeObjectB(value);
|
out.writeObjectB(value);
|
||||||
for (EnMember member : enMembers) {
|
for (EnMember member : enMembers) {
|
||||||
out.writeObjectField(member, value);
|
out.writeFieldValue(member, value);
|
||||||
}
|
}
|
||||||
out.writeObjectE(value);
|
out.writeObjectE(value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ public class UserBeanProtoDynEncoder extends ProtobufDynEncoder<UserBean> {
|
|||||||
subout.writeFieldBytesValue(23, value.getBit6());
|
subout.writeFieldBytesValue(23, value.getBit6());
|
||||||
subout.writeFieldStringsValue(23, value.getStrs());
|
subout.writeFieldStringsValue(23, value.getStrs());
|
||||||
|
|
||||||
subout.writeObjectField(mapEnMember, value);
|
subout.writeFieldValue(mapEnMember, value);
|
||||||
subout.writeObjectE(value);
|
subout.writeObjectE(value);
|
||||||
offerWriter(out, subout);
|
offerWriter(out, subout);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user