From 242adb3c9e65195fb39cf983c5be10687f09e406 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Thu, 16 Mar 2017 17:46:38 +0800 Subject: [PATCH] --- .../redkale/service/CacheSourceService.java | 18 +++---- src/org/redkale/source/CacheSource.java | 18 +++---- src/org/redkale/util/AsyncHandler.java | 48 +++++++++++++++++++ src/org/redkale/util/AsyncVoidHandler.java | 44 ----------------- 4 files changed, 66 insertions(+), 62 deletions(-) delete mode 100644 src/org/redkale/util/AsyncVoidHandler.java diff --git a/src/org/redkale/service/CacheSourceService.java b/src/org/redkale/service/CacheSourceService.java index 8869625b6..ff9856534 100644 --- a/src/org/redkale/service/CacheSourceService.java +++ b/src/org/redkale/service/CacheSourceService.java @@ -243,7 +243,7 @@ public class CacheSourceService implem } @Override - public void refresh(final AsyncVoidHandler handler, @RpcAttachment final K key, final int expireSeconds) { + public void refresh(final AsyncHandler handler, @RpcAttachment final K key, final int expireSeconds) { refresh(key, expireSeconds); if (handler != null) handler.completed(null, key); } @@ -264,7 +264,7 @@ public class CacheSourceService implem } @Override - public void set(final AsyncVoidHandler handler, @RpcAttachment final K key, final V value) { + public void set(final AsyncHandler handler, @RpcAttachment final K key, final V value) { set(key, value); if (handler != null) handler.completed(null, key); } @@ -285,7 +285,7 @@ public class CacheSourceService implem } @Override - public void set(final AsyncVoidHandler handler, final int expireSeconds, @RpcAttachment final K key, final V value) { + public void set(final AsyncHandler handler, final int expireSeconds, @RpcAttachment final K key, final V value) { set(expireSeconds, key, value); if (handler != null) handler.completed(null, key); } @@ -300,7 +300,7 @@ public class CacheSourceService implem } @Override - public void setExpireSeconds(final AsyncVoidHandler handler, @RpcAttachment final K key, final int expireSeconds) { + public void setExpireSeconds(final AsyncHandler handler, @RpcAttachment final K key, final int expireSeconds) { setExpireSeconds(key, expireSeconds); if (handler != null) handler.completed(null, key); } @@ -313,7 +313,7 @@ public class CacheSourceService implem } @Override - public void remove(final AsyncVoidHandler handler, @RpcAttachment final K key) { + public void remove(final AsyncHandler handler, @RpcAttachment final K key) { remove(key); if (handler != null) handler.completed(null, key); } @@ -357,7 +357,7 @@ public class CacheSourceService implem } @Override - public void appendListItem(final AsyncVoidHandler handler, @RpcAttachment final K key, final V value) { + public void appendListItem(final AsyncHandler handler, @RpcAttachment final K key, final V value) { appendListItem(key, value); if (handler != null) handler.completed(null, key); } @@ -372,7 +372,7 @@ public class CacheSourceService implem } @Override - public void removeListItem(final AsyncVoidHandler handler, @RpcAttachment final K key, final V value) { + public void removeListItem(final AsyncHandler handler, @RpcAttachment final K key, final V value) { removeListItem(key, value); if (handler != null) handler.completed(null, key); } @@ -394,7 +394,7 @@ public class CacheSourceService implem } @Override - public void appendSetItem(final AsyncVoidHandler handler, @RpcAttachment final K key, final V value) { + public void appendSetItem(final AsyncHandler handler, @RpcAttachment final K key, final V value) { appendSetItem(key, value); if (handler != null) handler.completed(null, key); } @@ -409,7 +409,7 @@ public class CacheSourceService implem } @Override - public void removeSetItem(final AsyncVoidHandler handler, @RpcAttachment final K key, final V value) { + public void removeSetItem(final AsyncHandler handler, @RpcAttachment final K key, final V value) { removeSetItem(key, value); if (handler != null) handler.completed(null, key); } diff --git a/src/org/redkale/source/CacheSource.java b/src/org/redkale/source/CacheSource.java index 6b674da8c..9637b47ae 100644 --- a/src/org/redkale/source/CacheSource.java +++ b/src/org/redkale/source/CacheSource.java @@ -59,27 +59,27 @@ public interface CacheSource { public void getAndRefresh(final AsyncHandler handler, final K key, final int expireSeconds); - public void refresh(final AsyncVoidHandler handler, final K key, final int expireSeconds); + public void refresh(final AsyncHandler handler, final K key, final int expireSeconds); - public void set(final AsyncVoidHandler handler, final K key, final V value); + public void set(final AsyncHandler handler, final K key, final V value); - public void set(final AsyncVoidHandler handler, final int expireSeconds, final K key, final V value); + public void set(final AsyncHandler handler, final int expireSeconds, final K key, final V value); - public void setExpireSeconds(final AsyncVoidHandler handler, final K key, final int expireSeconds); + public void setExpireSeconds(final AsyncHandler handler, final K key, final int expireSeconds); - public void remove(final AsyncVoidHandler handler, final K key); + public void remove(final AsyncHandler handler, final K key); public void getCollection(final AsyncHandler, K> handler, final K key); public void getCollectionAndRefresh(final AsyncHandler, K> handler, final K key, final int expireSeconds); - public void appendListItem(final AsyncVoidHandler handler, final K key, final V value); + public void appendListItem(final AsyncHandler handler, final K key, final V value); - public void removeListItem(final AsyncVoidHandler handler, final K key, final V value); + public void removeListItem(final AsyncHandler handler, final K key, final V value); - public void appendSetItem(final AsyncVoidHandler handler, final K key, final V value); + public void appendSetItem(final AsyncHandler handler, final K key, final V value); - public void removeSetItem(final AsyncVoidHandler handler, final K key, final V value); + public void removeSetItem(final AsyncHandler handler, final K key, final V value); default void isOpen(final AsyncHandler handler) { if (handler != null) handler.completed(Boolean.TRUE, null); diff --git a/src/org/redkale/util/AsyncHandler.java b/src/org/redkale/util/AsyncHandler.java index 513ed7bd8..417061220 100644 --- a/src/org/redkale/util/AsyncHandler.java +++ b/src/org/redkale/util/AsyncHandler.java @@ -7,6 +7,7 @@ package org.redkale.util; import java.util.function.BiConsumer; import java.nio.channels.CompletionHandler; +import java.util.function.*; /** * 异步接口 @@ -44,4 +45,51 @@ public interface AsyncHandler extends CompletionHandler { } }; } + + /** + * 创建没有返回结果的 AsyncHandler 对象 + * + * @param 附件对象的泛型 + * @param success 成功的回调函数 + * @param fail 失败的回调函数 + * + * @return AsyncHandler + */ + public static AsyncHandler createNoResultHandler(final Consumer success, final BiConsumer fail) { + return new AsyncHandler() { + @Override + public void completed(Void result, A attachment) { + if (success != null) success.accept(attachment); + } + + @Override + public void failed(Throwable exc, A attachment) { + if (fail != null) fail.accept(exc, attachment); + } + }; + } + + /** + * 创建没有附件对象的 AsyncNoResultHandler 对象 + * + * @param 结果对象的泛型 + * @param success 成功的回调函数 + * @param fail 失败的回调函数 + * + * @return AsyncHandler + */ + public static AsyncHandler createNoAttachHandler(final Consumer success, final Consumer fail) { + return new AsyncHandler() { + @Override + public void completed(V result, Void attachment) { + if (success != null) success.accept(result); + } + + @Override + public void failed(Throwable exc, Void attachment) { + if (fail != null) fail.accept(exc); + } + }; + } + } diff --git a/src/org/redkale/util/AsyncVoidHandler.java b/src/org/redkale/util/AsyncVoidHandler.java deleted file mode 100644 index b385483f2..000000000 --- a/src/org/redkale/util/AsyncVoidHandler.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package org.redkale.util; - -import java.util.function.*; - -/** - * 没有返回值的异步接口 - * - * - *

- * 详情见: https://redkale.org - * - * @author zhangjx - * @param 附件对象的泛型 - */ -public interface AsyncVoidHandler< A> extends AsyncHandler { - - /** - * 创建 AsyncVoidHandler 对象 - * - * @param 附件对象的泛型 - * @param success 成功的回调函数 - * @param fail 失败的回调函数 - * - * @return AsyncHandler - */ - public static < A> AsyncVoidHandler< A> create(final Consumer< A> success, final BiConsumer fail) { - return new AsyncVoidHandler< A>() { - @Override - public void completed(Void result, A attachment) { - if (success != null) success.accept(attachment); - } - - @Override - public void failed(Throwable exc, A attachment) { - if (fail != null) fail.accept(exc, attachment); - } - }; - } -}