From 00829cf198fd994f26f63e9d68e7913631d3a8c1 Mon Sep 17 00:00:00 2001 From: redkale Date: Fri, 31 Mar 2023 11:09:15 +0800 Subject: [PATCH] =?UTF-8?q?convert=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/convert/Convert.java | 22 +++++++++++-------- .../org/redkale/convert/bson/BsonConvert.java | 18 +++++++++++---- .../org/redkale/convert/json/JsonConvert.java | 19 ++++++++-------- 3 files changed, 37 insertions(+), 22 deletions(-) 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); } }; }