Convert支持AbstractMap.SimpleEntry
This commit is contained in:
@@ -615,6 +615,7 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
|
|||||||
decoder = od;
|
decoder = od;
|
||||||
} else if (!clazz.getName().startsWith("java.")
|
} else if (!clazz.getName().startsWith("java.")
|
||||||
|| java.net.HttpCookie.class == clazz
|
|| java.net.HttpCookie.class == clazz
|
||||||
|
|| java.util.AbstractMap.SimpleEntry.class == clazz
|
||||||
|| clazz.getName().startsWith("java.awt.geom.Point2D")) {
|
|| clazz.getName().startsWith("java.awt.geom.Point2D")) {
|
||||||
Decodeable simpleCoder = null;
|
Decodeable simpleCoder = null;
|
||||||
for (final Method method : clazz.getDeclaredMethods()) {
|
for (final Method method : clazz.getDeclaredMethods()) {
|
||||||
@@ -698,7 +699,7 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
|
|||||||
encoder = new OptionalCoder(this, type);
|
encoder = new OptionalCoder(this, type);
|
||||||
} else if (clazz == Object.class) {
|
} else if (clazz == Object.class) {
|
||||||
return (Encodeable<W, E>) this.anyEncoder;
|
return (Encodeable<W, E>) 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;
|
Encodeable simpleCoder = null;
|
||||||
for (final Method method : clazz.getDeclaredMethods()) {
|
for (final Method method : clazz.getDeclaredMethods()) {
|
||||||
if (!Modifier.isStatic(method.getModifiers())) continue;
|
if (!Modifier.isStatic(method.getModifiers())) continue;
|
||||||
|
|||||||
@@ -54,11 +54,11 @@ public class RetResult<T> {
|
|||||||
this.result = result;
|
this.result = result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RetResult success() {
|
public static <T> RetResult<T> success() {
|
||||||
return new RetResult();
|
return new RetResult<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <V> RetResult success(V result) {
|
public static <V, T> RetResult<T> success(V result) {
|
||||||
return new RetResult().result(result);
|
return new RetResult().result(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,13 @@ public interface Creator<T> {
|
|||||||
creatorCacheMap.put(Stream.class, (params) -> new ArrayList<>().stream());
|
creatorCacheMap.put(Stream.class, (params) -> new ArrayList<>().stream());
|
||||||
creatorCacheMap.put(ConcurrentHashMap.class, (params) -> new ConcurrentHashMap<>());
|
creatorCacheMap.put(ConcurrentHashMap.class, (params) -> new ConcurrentHashMap<>());
|
||||||
creatorCacheMap.put(CompletableFuture.class, (params) -> new CompletableFuture<>());
|
creatorCacheMap.put(CompletableFuture.class, (params) -> new CompletableFuture<>());
|
||||||
|
creatorCacheMap.put(AbstractMap.SimpleEntry.class, new Creator<AbstractMap.SimpleEntry>() {
|
||||||
|
@Override
|
||||||
|
@ConstructorParameters({"key", "value"})
|
||||||
|
public AbstractMap.SimpleEntry create(Object... params) {
|
||||||
|
return new AbstractMap.SimpleEntry(params[0], params[1]);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static class SimpleClassVisitor extends ClassVisitor {
|
static class SimpleClassVisitor extends ClassVisitor {
|
||||||
|
|||||||
Reference in New Issue
Block a user