diff --git a/src/main/java/org/redkale/convert/Convert.java b/src/main/java/org/redkale/convert/Convert.java index 166ffa750..9dd5d9eef 100644 --- a/src/main/java/org/redkale/convert/Convert.java +++ b/src/main/java/org/redkale/convert/Convert.java @@ -36,22 +36,26 @@ public abstract class Convert { return writer; } - protected S fieldFunc(S writer, BiFunction objFieldFunc, Function objExtFunc) { - writer.objFieldFunc = objFieldFunc; - writer.objExtFunc = objExtFunc; - return writer; - } - - protected S fieldFunc(S writer, BiFunction mapFieldFunc, BiFunction objFieldFunc, Function objExtFunc) { + protected S fieldFunc(S writer, BiFunction objFieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { writer.mapFieldFunc = mapFieldFunc; writer.objFieldFunc = objFieldFunc; writer.objExtFunc = objExtFunc; return writer; } - public abstract Convert newConvert(final BiFunction objFieldFunc); + public Convert newConvert(BiFunction objFieldFunc) { + return newConvert(objFieldFunc, null, null); + } - public abstract Convert newConvert(final BiFunction objFieldFunc, Function objExtFunc); + public Convert newConvert(BiFunction objFieldFunc, BiFunction mapFieldFunc) { + return newConvert(objFieldFunc, mapFieldFunc, null); + } + + public Convert newConvert(BiFunction objFieldFunc, Function objExtFunc) { + return newConvert(objFieldFunc, null, objExtFunc); + } + + public abstract Convert newConvert(BiFunction objFieldFunc, BiFunction mapFieldFunc, Function objExtFunc); public abstract boolean isBinary(); diff --git a/src/main/java/org/redkale/convert/bson/BsonConvert.java b/src/main/java/org/redkale/convert/bson/BsonConvert.java index a00a3b273..27301d376 100644 --- a/src/main/java/org/redkale/convert/bson/BsonConvert.java +++ b/src/main/java/org/redkale/convert/bson/BsonConvert.java @@ -62,16 +62,26 @@ public class BsonConvert extends BinaryConvert { } @Override - public BsonConvert newConvert(final BiFunction fieldFunc) { - return newConvert(fieldFunc, null); + public BsonConvert newConvert(final BiFunction objFieldFunc) { + return newConvert(objFieldFunc, null, null); } @Override - public BsonConvert newConvert(final BiFunction fieldFunc, Function objExtFunc) { + public BsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { + return newConvert(objFieldFunc, mapFieldFunc, null); + } + + @Override + public BsonConvert newConvert(final BiFunction objFieldFunc, Function objExtFunc) { + return newConvert(objFieldFunc, null, objExtFunc); + } + + @Override + public BsonConvert newConvert(final BiFunction fieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { return new BsonConvert(getFactory(), tiny) { @Override protected S configWrite(S writer) { - return fieldFunc(writer, fieldFunc, objExtFunc); + return fieldFunc(writer, fieldFunc, mapFieldFunc, objExtFunc); } }; } diff --git a/src/main/java/org/redkale/convert/json/JsonConvert.java b/src/main/java/org/redkale/convert/json/JsonConvert.java index 658912faa..638371005 100644 --- a/src/main/java/org/redkale/convert/json/JsonConvert.java +++ b/src/main/java/org/redkale/convert/json/JsonConvert.java @@ -61,24 +61,25 @@ public class JsonConvert extends TextConvert { @Override public JsonConvert newConvert(final BiFunction objFieldFunc) { - return newConvert(objFieldFunc, null); + return newConvert(objFieldFunc, null, null); } @Override public JsonConvert newConvert(final BiFunction objFieldFunc, Function objExtFunc) { - return new JsonConvert(getFactory(), tiny) { - @Override - protected S configWrite(S writer) { - return fieldFunc(writer, objFieldFunc, objExtFunc); - } - }; + return newConvert(objFieldFunc, null, objExtFunc); } - public JsonConvert newConvert(BiFunction mapFieldFunc, final BiFunction objFieldFunc, Function objExtFunc) { + @Override + public JsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc) { + return newConvert(objFieldFunc, mapFieldFunc, null); + } + + @Override + public JsonConvert newConvert(final BiFunction objFieldFunc, BiFunction mapFieldFunc, Function objExtFunc) { return new JsonConvert(getFactory(), tiny) { @Override protected S configWrite(S writer) { - return fieldFunc(writer, mapFieldFunc, objFieldFunc, objExtFunc); + return fieldFunc(writer, objFieldFunc, mapFieldFunc, objExtFunc); } }; }