From 73ce5fa11fd8d3fe4cd6a5a65d2bf5ec1bb08007 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 28 Mar 2019 14:56:28 +0800 Subject: [PATCH] =?UTF-8?q?Convert=E6=94=AF=E6=8C=81AbstractMap.SimpleEntr?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/convert/ConvertFactory.java | 3 ++- src/org/redkale/service/RetResult.java | 6 +++--- src/org/redkale/util/Creator.java | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/org/redkale/convert/ConvertFactory.java b/src/org/redkale/convert/ConvertFactory.java index 5883be176..9f83668b9 100644 --- a/src/org/redkale/convert/ConvertFactory.java +++ b/src/org/redkale/convert/ConvertFactory.java @@ -615,6 +615,7 @@ public abstract class ConvertFactory { decoder = od; } else if (!clazz.getName().startsWith("java.") || java.net.HttpCookie.class == clazz + || java.util.AbstractMap.SimpleEntry.class == clazz || clazz.getName().startsWith("java.awt.geom.Point2D")) { Decodeable simpleCoder = null; for (final Method method : clazz.getDeclaredMethods()) { @@ -698,7 +699,7 @@ public abstract class ConvertFactory { encoder = new OptionalCoder(this, type); } else if (clazz == Object.class) { return (Encodeable) this.anyEncoder; - } else if (!clazz.getName().startsWith("java.") || java.net.HttpCookie.class == clazz) { + } else if (!clazz.getName().startsWith("java.") || java.net.HttpCookie.class == clazz || java.util.AbstractMap.SimpleEntry.class == clazz) { Encodeable simpleCoder = null; for (final Method method : clazz.getDeclaredMethods()) { if (!Modifier.isStatic(method.getModifiers())) continue; diff --git a/src/org/redkale/service/RetResult.java b/src/org/redkale/service/RetResult.java index 98fcb46b1..5187ab47b 100644 --- a/src/org/redkale/service/RetResult.java +++ b/src/org/redkale/service/RetResult.java @@ -54,11 +54,11 @@ public class RetResult { this.result = result; } - public static RetResult success() { - return new RetResult(); + public static RetResult success() { + return new RetResult<>(); } - public static RetResult success(V result) { + public static RetResult success(V result) { return new RetResult().result(result); } diff --git a/src/org/redkale/util/Creator.java b/src/org/redkale/util/Creator.java index 563ee4c2a..e798b67f2 100644 --- a/src/org/redkale/util/Creator.java +++ b/src/org/redkale/util/Creator.java @@ -85,6 +85,13 @@ public interface Creator { creatorCacheMap.put(Stream.class, (params) -> new ArrayList<>().stream()); creatorCacheMap.put(ConcurrentHashMap.class, (params) -> new ConcurrentHashMap<>()); creatorCacheMap.put(CompletableFuture.class, (params) -> new CompletableFuture<>()); + creatorCacheMap.put(AbstractMap.SimpleEntry.class, new Creator() { + @Override + @ConstructorParameters({"key", "value"}) + public AbstractMap.SimpleEntry create(Object... params) { + return new AbstractMap.SimpleEntry(params[0], params[1]); + } + }); } static class SimpleClassVisitor extends ClassVisitor {