This commit is contained in:
Redkale
2018-07-16 12:40:32 +08:00
parent 19276ecb91
commit 640dcbc8d7
4 changed files with 12 additions and 8 deletions

View File

@@ -65,6 +65,10 @@ public final class EnMember<W extends Writer, T, F> {
return attribute.field().equals(name); return attribute.field().equals(name);
} }
public Attribute<T, F> getAttribute() {
return attribute;
}
public int getIndex() { public int getIndex() {
return this.index; return this.index;
} }

View File

@@ -6,7 +6,6 @@
package org.redkale.convert; package org.redkale.convert;
import java.lang.reflect.*; import java.lang.reflect.*;
import org.redkale.util.Attribute;
/** /**
* 序列化的数据输出流 * 序列化的数据输出流
@@ -112,7 +111,7 @@ public abstract class Writer {
if (!((Boolean) value)) return; if (!((Boolean) value)) return;
} }
} }
this.writeFieldName(member.attribute); this.writeFieldName(member);
member.encoder.convertTo(this, value); member.encoder.convertTo(this, value);
this.comma = true; this.comma = true;
} }
@@ -165,9 +164,9 @@ public abstract class Writer {
/** /**
* 输出一个字段名 * 输出一个字段名
* *
* @param attribute 字段的Attribute对象 * @param member 字段的EnMember对象
*/ */
public abstract void writeFieldName(Attribute attribute); public abstract void writeFieldName(EnMember member);
/** /**
* 写入一个boolean值 * 写入一个boolean值

View File

@@ -180,7 +180,8 @@ public class BsonWriter extends Writer {
} }
@Override @Override
public final void writeFieldName(Attribute attribute) { public final void writeFieldName(EnMember member) {
Attribute attribute = member.getAttribute();
writeByte(BsonReader.SIGN_HASNEXT); writeByte(BsonReader.SIGN_HASNEXT);
writeSmallString(attribute.field()); writeSmallString(attribute.field());
byte typeval = 127; //字段的类型值 byte typeval = 127; //字段的类型值

View File

@@ -6,7 +6,7 @@
package org.redkale.convert.json; package org.redkale.convert.json;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import org.redkale.convert.Writer; import org.redkale.convert.*;
import org.redkale.util.*; import org.redkale.util.*;
/** /**
@@ -157,9 +157,9 @@ public class JsonWriter extends Writer {
} }
@Override @Override
public final void writeFieldName(Attribute attribute) { public final void writeFieldName(EnMember member) {
if (this.comma) writeTo(','); if (this.comma) writeTo(',');
writeTo(true, attribute.field()); writeTo(true, member.getAttribute().field());
writeTo(':'); writeTo(':');
} }