This commit is contained in:
Redkale
2018-07-20 10:58:51 +08:00
parent a8ff82229f
commit daff7d095f
3 changed files with 15 additions and 2 deletions

View File

@@ -141,6 +141,8 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
public abstract boolean isFieldSort(); //当ConvertColumn.index相同时是否按字段名称排序 public abstract boolean isFieldSort(); //当ConvertColumn.index相同时是否按字段名称排序
public abstract SimpledCoder createEnumSimpledCoder(Class enumClass);
public abstract ConvertFactory createChild(); public abstract ConvertFactory createChild();
public abstract ConvertFactory createChild(boolean tiny); public abstract ConvertFactory createChild(boolean tiny);
@@ -519,7 +521,7 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
Decodeable<R, E> decoder = null; Decodeable<R, E> decoder = null;
ObjectDecoder od = null; ObjectDecoder od = null;
if (clazz.isEnum()) { if (clazz.isEnum()) {
decoder = new EnumSimpledCoder(clazz); decoder = createEnumSimpledCoder(clazz);
} else if (clazz.isArray()) { } else if (clazz.isArray()) {
decoder = new ArrayDecoder(this, type); decoder = new ArrayDecoder(this, type);
} else if (Collection.class.isAssignableFrom(clazz)) { } else if (Collection.class.isAssignableFrom(clazz)) {
@@ -605,7 +607,7 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
Encodeable<W, E> encoder = null; Encodeable<W, E> encoder = null;
ObjectEncoder oe = null; ObjectEncoder oe = null;
if (clazz.isEnum()) { if (clazz.isEnum()) {
encoder = new EnumSimpledCoder(clazz); encoder = createEnumSimpledCoder(clazz);
} else if (clazz.isArray()) { } else if (clazz.isArray()) {
encoder = new ArrayEncoder(this, type); encoder = new ArrayEncoder(this, type);
} else if (Collection.class.isAssignableFrom(clazz)) { } else if (Collection.class.isAssignableFrom(clazz)) {

View File

@@ -7,6 +7,7 @@ package org.redkale.convert.bson;
import java.io.Serializable; import java.io.Serializable;
import org.redkale.convert.*; import org.redkale.convert.*;
import org.redkale.convert.ext.EnumSimpledCoder;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
/** /**
@@ -50,6 +51,11 @@ public final class BsonFactory extends ConvertFactory<BsonReader, BsonWriter> {
return this; return this;
} }
@Override
public SimpledCoder createEnumSimpledCoder(Class enumClass) {
return new EnumSimpledCoder(enumClass);
}
public static BsonFactory root() { public static BsonFactory root() {
return instance; return instance;
} }

View File

@@ -52,6 +52,11 @@ public final class JsonFactory extends ConvertFactory<JsonReader, JsonWriter> {
return this; return this;
} }
@Override
public SimpledCoder createEnumSimpledCoder(Class enumClass) {
return new EnumSimpledCoder(enumClass);
}
public static JsonFactory root() { public static JsonFactory root() {
return instance; return instance;
} }