This commit is contained in:
@@ -243,7 +243,7 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final int expireSeconds) {
|
||||
public void refresh(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final V value) {
|
||||
public void set(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(final AsyncVoidHandler<K> handler, final int expireSeconds, @RpcAttachment final K key, final V value) {
|
||||
public void set(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpireSeconds(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final int expireSeconds) {
|
||||
public void setExpireSeconds(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(final AsyncVoidHandler<K> handler, @RpcAttachment final K key) {
|
||||
public void remove(final AsyncHandler<Void, K> handler, @RpcAttachment final K key) {
|
||||
remove(key);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
@@ -357,7 +357,7 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendListItem(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final V value) {
|
||||
public void appendListItem(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeListItem(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final V value) {
|
||||
public void removeListItem(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendSetItem(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final V value) {
|
||||
public void appendSetItem(final AsyncHandler<Void, K> 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<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSetItem(final AsyncVoidHandler<K> handler, @RpcAttachment final K key, final V value) {
|
||||
public void removeSetItem(final AsyncHandler<Void, K> handler, @RpcAttachment final K key, final V value) {
|
||||
removeSetItem(key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@@ -59,27 +59,27 @@ public interface CacheSource<K extends Serializable, V extends Object> {
|
||||
|
||||
public void getAndRefresh(final AsyncHandler<V, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void refresh(final AsyncVoidHandler<K> handler, final K key, final int expireSeconds);
|
||||
public void refresh(final AsyncHandler<Void, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void set(final AsyncVoidHandler<K> handler, final K key, final V value);
|
||||
public void set(final AsyncHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void set(final AsyncVoidHandler<K> handler, final int expireSeconds, final K key, final V value);
|
||||
public void set(final AsyncHandler<Void, K> handler, final int expireSeconds, final K key, final V value);
|
||||
|
||||
public void setExpireSeconds(final AsyncVoidHandler<K> handler, final K key, final int expireSeconds);
|
||||
public void setExpireSeconds(final AsyncHandler<Void, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void remove(final AsyncVoidHandler<K> handler, final K key);
|
||||
public void remove(final AsyncHandler<Void, K> handler, final K key);
|
||||
|
||||
public void getCollection(final AsyncHandler<Collection<V>, K> handler, final K key);
|
||||
|
||||
public void getCollectionAndRefresh(final AsyncHandler<Collection<V>, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void appendListItem(final AsyncVoidHandler<K> handler, final K key, final V value);
|
||||
public void appendListItem(final AsyncHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void removeListItem(final AsyncVoidHandler<K> handler, final K key, final V value);
|
||||
public void removeListItem(final AsyncHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void appendSetItem(final AsyncVoidHandler<K> handler, final K key, final V value);
|
||||
public void appendSetItem(final AsyncHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void removeSetItem(final AsyncVoidHandler<K> handler, final K key, final V value);
|
||||
public void removeSetItem(final AsyncHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
default void isOpen(final AsyncHandler<Boolean, Void> handler) {
|
||||
if (handler != null) handler.completed(Boolean.TRUE, null);
|
||||
|
||||
@@ -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<V, A> extends CompletionHandler<V, A> {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建没有返回结果的 AsyncHandler 对象
|
||||
*
|
||||
* @param <A> 附件对象的泛型
|
||||
* @param success 成功的回调函数
|
||||
* @param fail 失败的回调函数
|
||||
*
|
||||
* @return AsyncHandler
|
||||
*/
|
||||
public static <A> AsyncHandler<Void, A> createNoResultHandler(final Consumer<A> success, final BiConsumer<Throwable, A> fail) {
|
||||
return new AsyncHandler<Void, 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);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建没有附件对象的 AsyncNoResultHandler 对象
|
||||
*
|
||||
* @param <V> 结果对象的泛型
|
||||
* @param success 成功的回调函数
|
||||
* @param fail 失败的回调函数
|
||||
*
|
||||
* @return AsyncHandler
|
||||
*/
|
||||
public static <V> AsyncHandler<V, Void> createNoAttachHandler(final Consumer<V> success, final Consumer<Throwable> fail) {
|
||||
return new AsyncHandler<V, Void>() {
|
||||
@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);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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.*;
|
||||
|
||||
/**
|
||||
* 没有返回值的异步接口
|
||||
*
|
||||
*
|
||||
* <p>
|
||||
* 详情见: https://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
* @param <A> 附件对象的泛型
|
||||
*/
|
||||
public interface AsyncVoidHandler< A> extends AsyncHandler<Void, A> {
|
||||
|
||||
/**
|
||||
* 创建 AsyncVoidHandler 对象
|
||||
*
|
||||
* @param <A> 附件对象的泛型
|
||||
* @param success 成功的回调函数
|
||||
* @param fail 失败的回调函数
|
||||
*
|
||||
* @return AsyncHandler
|
||||
*/
|
||||
public static < A> AsyncVoidHandler< A> create(final Consumer< A> success, final BiConsumer<Throwable, A> 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);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user