diff --git a/src/org/redkale/convert/ConvertFactory.java b/src/org/redkale/convert/ConvertFactory.java index 5bda49633..f7995c2ac 100644 --- a/src/org/redkale/convert/ConvertFactory.java +++ b/src/org/redkale/convert/ConvertFactory.java @@ -141,6 +141,8 @@ public abstract class ConvertFactory { public abstract boolean isFieldSort(); //当ConvertColumn.index相同时是否按字段名称排序 + public abstract SimpledCoder createEnumSimpledCoder(Class enumClass); + public abstract ConvertFactory createChild(); public abstract ConvertFactory createChild(boolean tiny); @@ -519,7 +521,7 @@ public abstract class ConvertFactory { Decodeable decoder = null; ObjectDecoder od = null; if (clazz.isEnum()) { - decoder = new EnumSimpledCoder(clazz); + decoder = createEnumSimpledCoder(clazz); } else if (clazz.isArray()) { decoder = new ArrayDecoder(this, type); } else if (Collection.class.isAssignableFrom(clazz)) { @@ -605,7 +607,7 @@ public abstract class ConvertFactory { Encodeable encoder = null; ObjectEncoder oe = null; if (clazz.isEnum()) { - encoder = new EnumSimpledCoder(clazz); + encoder = createEnumSimpledCoder(clazz); } else if (clazz.isArray()) { encoder = new ArrayEncoder(this, type); } else if (Collection.class.isAssignableFrom(clazz)) { diff --git a/src/org/redkale/convert/bson/BsonFactory.java b/src/org/redkale/convert/bson/BsonFactory.java index 6ecb253d2..ee1376c2c 100644 --- a/src/org/redkale/convert/bson/BsonFactory.java +++ b/src/org/redkale/convert/bson/BsonFactory.java @@ -7,6 +7,7 @@ package org.redkale.convert.bson; import java.io.Serializable; import org.redkale.convert.*; +import org.redkale.convert.ext.EnumSimpledCoder; import org.redkale.util.AnyValue; /** @@ -50,6 +51,11 @@ public final class BsonFactory extends ConvertFactory { return this; } + @Override + public SimpledCoder createEnumSimpledCoder(Class enumClass) { + return new EnumSimpledCoder(enumClass); + } + public static BsonFactory root() { return instance; } diff --git a/src/org/redkale/convert/json/JsonFactory.java b/src/org/redkale/convert/json/JsonFactory.java index 43c1ddc98..cb2f8bbc2 100644 --- a/src/org/redkale/convert/json/JsonFactory.java +++ b/src/org/redkale/convert/json/JsonFactory.java @@ -52,6 +52,11 @@ public final class JsonFactory extends ConvertFactory { return this; } + @Override + public SimpledCoder createEnumSimpledCoder(Class enumClass) { + return new EnumSimpledCoder(enumClass); + } + public static JsonFactory root() { return instance; }