删除Source异步版接口
This commit is contained in:
@@ -43,10 +43,6 @@ public final class SncpClient {
|
||||
|
||||
protected final Attribute[] paramAttrs; // 为null表示无DynCall处理,index=0固定为null, 其他为参数标记的DynCall回调方法
|
||||
|
||||
protected final int handlerFuncParamIndex;
|
||||
|
||||
protected final int handlerAttachParamIndex;
|
||||
|
||||
protected final int addressTargetParamIndex;
|
||||
|
||||
protected final int addressSourceParamIndex;
|
||||
@@ -64,24 +60,16 @@ public final class SncpClient {
|
||||
Annotation[][] anns = method.getParameterAnnotations();
|
||||
int targetAddrIndex = -1;
|
||||
int sourceAddrIndex = -1;
|
||||
int handlerAttachIndex = -1;
|
||||
int handlerFuncIndex = -1;
|
||||
|
||||
boolean hasattr = false;
|
||||
Attribute[] atts = new Attribute[paramTypes.length + 1];
|
||||
if (anns.length > 0) {
|
||||
Class<?>[] params = method.getParameterTypes();
|
||||
for (int i = 0; i < params.length; i++) {
|
||||
if (CompletionHandler.class.isAssignableFrom(params[i])) {
|
||||
handlerFuncIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < anns.length; i++) {
|
||||
if (anns[i].length > 0) {
|
||||
for (Annotation ann : anns[i]) {
|
||||
if (ann.annotationType() == DynAttachment.class) {
|
||||
handlerAttachIndex = i;
|
||||
} else if (ann.annotationType() == DynTargetAddress.class && SocketAddress.class.isAssignableFrom(params[i])) {
|
||||
if (ann.annotationType() == DynTargetAddress.class && SocketAddress.class.isAssignableFrom(params[i])) {
|
||||
targetAddrIndex = i;
|
||||
} else if (ann.annotationType() == DynSourceAddress.class && SocketAddress.class.isAssignableFrom(params[i])) {
|
||||
sourceAddrIndex = i;
|
||||
@@ -103,10 +91,7 @@ public final class SncpClient {
|
||||
}
|
||||
this.addressTargetParamIndex = targetAddrIndex;
|
||||
this.addressSourceParamIndex = sourceAddrIndex;
|
||||
this.handlerFuncParamIndex = handlerFuncIndex;
|
||||
this.handlerAttachParamIndex = handlerAttachIndex;
|
||||
this.paramAttrs = hasattr ? atts : null;
|
||||
if (this.handlerFuncParamIndex >= 0 && method.getReturnType() != void.class) throw new RuntimeException(method + " has CompletionHandler type parameter but return type is not void");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -220,9 +205,8 @@ public final class SncpClient {
|
||||
|
||||
public void remoteSameGroup(final BsonConvert bsonConvert, final JsonConvert jsonConvert, Transport transport, final int index, final Object... params) {
|
||||
final SncpAction action = actions[index];
|
||||
if (action.handlerFuncParamIndex >= 0) params[action.handlerFuncParamIndex] = null; //不能让远程调用handler,因为之前本地方法已经调用过了
|
||||
for (InetSocketAddress addr : transport.getRemoteAddresses()) {
|
||||
remote0(null, bsonConvert, jsonConvert, transport, addr, action, params);
|
||||
remote0(bsonConvert, jsonConvert, transport, addr, action, params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,9 +223,8 @@ public final class SncpClient {
|
||||
public void remoteDiffGroup(final BsonConvert bsonConvert, final JsonConvert jsonConvert, Transport[] transports, final int index, final Object... params) {
|
||||
if (transports == null || transports.length < 1) return;
|
||||
final SncpAction action = actions[index];
|
||||
if (action.handlerFuncParamIndex >= 0) params[action.handlerFuncParamIndex] = null; //不能让远程调用handler,因为之前本地方法已经调用过了
|
||||
for (Transport transport : transports) {
|
||||
remote0(null, bsonConvert, jsonConvert, transport, null, action, params);
|
||||
remote0(bsonConvert, jsonConvert, transport, null, action, params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,10 +242,8 @@ public final class SncpClient {
|
||||
//只给远程模式调用的
|
||||
public <T> T remote(final BsonConvert bsonConvert, final JsonConvert jsonConvert, Transport transport, final int index, final Object... params) {
|
||||
final SncpAction action = actions[index];
|
||||
final CompletionHandler handlerFunc = action.handlerFuncParamIndex >= 0 ? (CompletionHandler) params[action.handlerFuncParamIndex] : null;
|
||||
if (action.handlerFuncParamIndex >= 0) params[action.handlerFuncParamIndex] = null;
|
||||
SncpFuture<byte[]> future = remote0(handlerFunc, bsonConvert, jsonConvert, transport, null, action, params);
|
||||
if (handlerFunc != null) return null;
|
||||
SncpFuture<byte[]> future = remote0(bsonConvert, jsonConvert, transport, null, action, params);
|
||||
|
||||
final BsonReader reader = bsonConvert.pollBsonReader();
|
||||
try {
|
||||
reader.setBytes(future.get(5, TimeUnit.SECONDS));
|
||||
@@ -284,22 +265,22 @@ public final class SncpClient {
|
||||
if (transports == null || transports.length < 1) return;
|
||||
remote(bsonConvert, jsonConvert, transports[0], index, params);
|
||||
for (int i = 1; i < transports.length; i++) {
|
||||
remote0(null, bsonConvert, jsonConvert, transports[i], null, actions[index], params);
|
||||
remote0(bsonConvert, jsonConvert, transports[i], null, actions[index], params);
|
||||
}
|
||||
}
|
||||
|
||||
private SncpFuture<byte[]> remote0(final CompletionHandler handler, final BsonConvert bsonConvert, final JsonConvert jsonConvert, final Transport transport, final SocketAddress addr0, final SncpAction action, final Object... params) {
|
||||
private SncpFuture<byte[]> remote0(final BsonConvert bsonConvert, final JsonConvert jsonConvert, final Transport transport, final SocketAddress addr0, final SncpAction action, final Object... params) {
|
||||
if ("rest".equalsIgnoreCase(transport.getKind())) {
|
||||
return remoteRest0(handler, jsonConvert, transport, addr0, action, params);
|
||||
return remoteRest0(jsonConvert, transport, addr0, action, params);
|
||||
}
|
||||
return remoteSncp0(handler, bsonConvert, transport, addr0, action, params);
|
||||
return remoteSncp0(bsonConvert, transport, addr0, action, params);
|
||||
}
|
||||
|
||||
private SncpFuture<byte[]> remoteRest0(final CompletionHandler handler, final JsonConvert jsonConvert, final Transport transport, final SocketAddress addr0, final SncpAction action, final Object... params) {
|
||||
private SncpFuture<byte[]> remoteRest0(final JsonConvert jsonConvert, final Transport transport, final SocketAddress addr0, final SncpAction action, final Object... params) {
|
||||
return null;
|
||||
}
|
||||
|
||||
private SncpFuture<byte[]> remoteSncp0(final CompletionHandler handler, final BsonConvert bsonConvert, final Transport transport, final SocketAddress addr0, final SncpAction action, final Object... params) {
|
||||
private SncpFuture<byte[]> remoteSncp0(final BsonConvert bsonConvert, final Transport transport, final SocketAddress addr0, final SncpAction action, final Object... params) {
|
||||
Type[] myparamtypes = action.paramTypes;
|
||||
if (action.addressSourceParamIndex >= 0) params[action.addressSourceParamIndex] = this.clientAddress;
|
||||
final BsonWriter writer = bsonConvert.pollBsonWriter(transport.getBufferSupplier()); // 将head写入
|
||||
@@ -402,24 +383,6 @@ public final class SncpClient {
|
||||
future.set(this.body);
|
||||
transport.offerBuffer(buffer);
|
||||
transport.offerConnection(false, conn);
|
||||
if (handler != null) {
|
||||
final Object handlerAttach = action.handlerAttachParamIndex >= 0 ? params[action.handlerAttachParamIndex] : null;
|
||||
final BsonReader reader = bsonConvert.pollBsonReader();
|
||||
try {
|
||||
reader.setBytes(this.body);
|
||||
int i;
|
||||
while ((i = (reader.readByte() & 0xff)) != 0) {
|
||||
final Attribute attr = action.paramAttrs[i];
|
||||
attr.set(params[i - 1], bsonConvert.convertFrom(attr.type(), reader));
|
||||
}
|
||||
Object rs = bsonConvert.convertFrom(action.resultTypes, reader);
|
||||
handler.completed(rs, handlerAttach);
|
||||
} catch (Exception e) {
|
||||
handler.failed(e, handlerAttach);
|
||||
} finally {
|
||||
bsonConvert.offerBsonReader(reader);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -428,10 +391,6 @@ public final class SncpClient {
|
||||
future.set(new RuntimeException(action.method + " sncp remote exec failed"));
|
||||
transport.offerBuffer(buffer);
|
||||
transport.offerConnection(true, conn);
|
||||
if (handler != null) {
|
||||
final Object handlerAttach = action.handlerAttachParamIndex >= 0 ? params[action.handlerAttachParamIndex] : null;
|
||||
handler.failed(exc, handlerAttach);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ package org.redkale.service;
|
||||
import java.beans.*;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.*;
|
||||
import java.nio.channels.*;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.*;
|
||||
import java.util.function.*;
|
||||
@@ -26,6 +25,7 @@ import org.redkale.util.*;
|
||||
* @param <V> value类型
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
*/
|
||||
@AutoLoad(false)
|
||||
@@ -191,11 +191,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
return !entry.isExpired();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exists(final CompletionHandler<Boolean, K> handler, @DynAttachment final K key) {
|
||||
if (handler != null) handler.completed(exists(key), key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public V get(K key) {
|
||||
if (key == null) return null;
|
||||
@@ -206,11 +201,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
return (V) entry.getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void get(final CompletionHandler<V, K> handler, @DynAttachment final K key) {
|
||||
if (handler != null) handler.completed(get(key), key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public V getAndRefresh(K key, final int expireSeconds) {
|
||||
@@ -224,12 +214,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
return (V) entry.getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAndRefresh(final CompletionHandler<V, K> handler, @DynAttachment final K key, final int expireSeconds) {
|
||||
V rs = getAndRefresh(key, expireSeconds);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void refresh(K key, final int expireSeconds) {
|
||||
@@ -240,12 +224,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
entry.expireSeconds = expireSeconds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refresh(final CompletionHandler<Void, K> handler, final K key, final int expireSeconds) {
|
||||
refresh(key, expireSeconds);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void set(K key, V value) {
|
||||
@@ -261,12 +239,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(final CompletionHandler<Void, K> handler, @DynAttachment final K key, final V value) {
|
||||
set(key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void set(int expireSeconds, K key, V value) {
|
||||
@@ -282,12 +254,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(final CompletionHandler<Void, K> handler, final int expireSeconds, @DynAttachment final K key, final V value) {
|
||||
set(expireSeconds, key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void setExpireSeconds(K key, int expireSeconds) {
|
||||
@@ -297,12 +263,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
entry.expireSeconds = expireSeconds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpireSeconds(final CompletionHandler<Void, K> handler, @DynAttachment final K key, final int expireSeconds) {
|
||||
setExpireSeconds(key, expireSeconds);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void remove(K key) {
|
||||
@@ -310,32 +270,16 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
container.remove(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(final CompletionHandler<Void, K> handler, @DynAttachment final K key) {
|
||||
remove(key);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<V> getCollection(final K key) {
|
||||
return (Collection<V>) get(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getCollection(final CompletionHandler<Collection<V>, K> handler, @DynAttachment final K key) {
|
||||
if (handler != null) handler.completed(getCollection(key), key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<V> getCollectionAndRefresh(final K key, final int expireSeconds) {
|
||||
return (Collection<V>) getAndRefresh(key, expireSeconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getCollectionAndRefresh(final CompletionHandler<Collection<V>, K> handler, @DynAttachment final K key, final int expireSeconds) {
|
||||
if (handler != null) handler.completed(getCollectionAndRefresh(key, expireSeconds), key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void appendListItem(K key, V value) {
|
||||
@@ -352,12 +296,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendListItem(final CompletionHandler<Void, K> handler, @DynAttachment final K key, final V value) {
|
||||
appendListItem(key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void removeListItem(K key, V value) {
|
||||
@@ -367,12 +305,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
((Collection) entry.getValue()).remove(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeListItem(final CompletionHandler<Void, K> handler, @DynAttachment final K key, final V value) {
|
||||
removeListItem(key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void appendSetItem(K key, V value) {
|
||||
@@ -389,12 +321,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendSetItem(final CompletionHandler<Void, K> handler, @DynAttachment final K key, final V value) {
|
||||
appendSetItem(key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
@MultiRun
|
||||
public void removeSetItem(K key, V value) {
|
||||
@@ -404,12 +330,6 @@ public class CacheSourceService<K extends Serializable, V extends Object> implem
|
||||
((Set) entry.getValue()).remove(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeSetItem(final CompletionHandler<Void, K> handler, @DynAttachment final K key, final V value) {
|
||||
removeSetItem(key, value);
|
||||
if (handler != null) handler.completed(null, key);
|
||||
}
|
||||
|
||||
public static enum CacheEntryType {
|
||||
OBJECT, SET, LIST;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
package org.redkale.service;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.channels.*;
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
import java.util.function.*;
|
||||
@@ -34,537 +33,251 @@ public class DataSourceService implements DataSource, Service, AutoCloseable {
|
||||
source.insert(values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void insert(final CompletionHandler<Void, T[]> handler, @DynAttachment @DynCall(DataCallArrayAttribute.class) final T... values) {
|
||||
source.insert(values);
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(T... values) {
|
||||
source.delete(values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final CompletionHandler<Void, T[]> handler, @DynAttachment final T... values) {
|
||||
source.delete(values);
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final Class<T> clazz, final Serializable... ids) {
|
||||
source.delete(clazz, ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final CompletionHandler<Void, Serializable[]> handler, final Class<T> clazz, @DynAttachment final Serializable... ids) {
|
||||
source.delete(clazz, ids);
|
||||
if (handler != null) handler.completed(null, ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final Class<T> clazz, FilterNode node) {
|
||||
source.delete(clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final CompletionHandler<Void, FilterNode> handler, final Class<T> clazz, @DynAttachment final FilterNode node) {
|
||||
source.delete(clazz, node);
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void update(T... values) {
|
||||
source.update(values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void update(final CompletionHandler<Void, T[]> handler, @DynAttachment final T... values) {
|
||||
source.update(values);
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final Class<T> clazz, final Serializable id, final String column, final Serializable value) {
|
||||
source.updateColumn(clazz, id, column, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, @DynAttachment final Serializable id, final String column, final Serializable value) {
|
||||
source.updateColumn(clazz, id, column, value);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final Class<T> clazz, final String column, final Serializable value, final FilterNode node) {
|
||||
source.updateColumn(clazz, column, value, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final CompletionHandler<Void, FilterNode> handler, final Class<T> clazz, final String column, final Serializable value, @DynAttachment final FilterNode node) {
|
||||
source.updateColumn(clazz, column, value, node);
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnIncrement(final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnIncrement(clazz, id, column, incvalue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnIncrement(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, @DynAttachment final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnIncrement(clazz, id, column, incvalue);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnAnd(final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnAnd(clazz, id, column, incvalue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnAnd(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, @DynAttachment final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnAnd(clazz, id, column, incvalue);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnOr(final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnOr(clazz, id, column, incvalue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnOr(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, @DynAttachment final Serializable id, final String column, long incvalue) {
|
||||
source.updateColumnOr(clazz, id, column, incvalue);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(T bean, final String... columns) {
|
||||
source.updateColumns(bean, columns);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(final CompletionHandler<Void, T> handler, @DynAttachment final T bean, final String... columns) {
|
||||
source.updateColumns(bean, columns);
|
||||
if (handler != null) handler.completed(null, bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(T bean, final FilterNode node, final String... columns) {
|
||||
source.updateColumns(bean, node, columns);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(final CompletionHandler<Void, FilterNode> handler, final T bean, @DynAttachment final FilterNode node, final String... columns) {
|
||||
source.updateColumns(bean, node, columns);
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Number getNumberResult(final Class entityClass, FilterFunc func, final String column) {
|
||||
return source.getNumberResult(entityClass, func, column);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getNumberResult(final CompletionHandler<Number, String> handler, final Class entityClass, final FilterFunc func, @DynAttachment final String column) {
|
||||
Number rs = source.getNumberResult(entityClass, func, column);
|
||||
if (handler != null) handler.completed(rs, column);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Number getNumberResult(final Class entityClass, FilterFunc func, final String column, FilterBean bean) {
|
||||
return getNumberResult(entityClass, func, column, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void getNumberResult(final CompletionHandler<Number, FilterNode> handler, final Class entityClass, final FilterFunc func, final String column, final FilterBean bean) {
|
||||
getNumberResult(handler, entityClass, func, column, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Number getNumberResult(final Class entityClass, FilterFunc func, final String column, FilterNode node) {
|
||||
return source.getNumberResult(entityClass, func, column, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getNumberResult(final CompletionHandler<Number, FilterNode> handler, final Class entityClass, final FilterFunc func, final String column, @DynAttachment final FilterNode node) {
|
||||
Number rs = source.getNumberResult(entityClass, func, column, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn) {
|
||||
return source.queryColumnMap(entityClass, keyColumn, func, funcColumn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, String> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, @DynAttachment final String funcColumn) {
|
||||
Map<K, N> map = source.queryColumnMap(entityClass, keyColumn, func, funcColumn);
|
||||
if (handler != null) handler.completed(map, funcColumn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn, FilterBean bean) {
|
||||
return queryColumnMap(entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, FilterNode> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, final FilterBean bean) {
|
||||
queryColumnMap(handler, entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn, FilterNode node) {
|
||||
return source.queryColumnMap(entityClass, keyColumn, func, funcColumn, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, FilterNode> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, @DynAttachment final FilterNode node) {
|
||||
Map<K, N> map = source.queryColumnMap(entityClass, keyColumn, func, funcColumn, node);
|
||||
if (handler != null) handler.completed(map, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final Serializable pk) {
|
||||
return source.find(clazz, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, @DynAttachment final Serializable pk) {
|
||||
T rs = source.find(clazz, pk);
|
||||
if (handler != null) handler.completed(rs, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, SelectColumn selects, final Serializable pk) {
|
||||
return source.find(clazz, selects, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final SelectColumn selects, @DynAttachment final Serializable pk) {
|
||||
T rs = source.find(clazz, selects, pk);
|
||||
if (handler != null) handler.completed(rs, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final String column, final Serializable key) {
|
||||
return source.find(clazz, column, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final String column, @DynAttachment final Serializable key) {
|
||||
T rs = source.find(clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> T find(final Class<T> clazz, FilterBean bean) {
|
||||
return find(clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final FilterBean bean) {
|
||||
find(handler, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, FilterNode node) {
|
||||
return source.find(clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, @DynAttachment final FilterNode node) {
|
||||
T rs = source.find(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> T find(final Class<T> clazz, final SelectColumn selects, FilterBean bean) {
|
||||
return find(clazz, selects, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
|
||||
find(handler, clazz, selects, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
|
||||
return source.find(clazz, selects, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, @DynAttachment final FilterNode node) {
|
||||
T rs = source.find(clazz, selects, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean exists(final Class<T> clazz, final Serializable pk) {
|
||||
return source.exists(clazz, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void exists(final CompletionHandler<Boolean, Serializable> handler, final Class<T> clazz, @DynAttachment final Serializable pk) {
|
||||
boolean rs = source.exists(clazz, pk);
|
||||
if (handler != null) handler.completed(rs, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> boolean exists(final Class<T> clazz, FilterBean bean) {
|
||||
return exists(clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void exists(final CompletionHandler<Boolean, FilterNode> handler, final Class<T> clazz, final FilterBean bean) {
|
||||
exists(handler, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean exists(final Class<T> clazz, FilterNode node) {
|
||||
return source.exists(clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void exists(final CompletionHandler<Boolean, FilterNode> handler, final Class<T> clazz, @DynAttachment final FilterNode node) {
|
||||
boolean rs = source.exists(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> HashSet<V> queryColumnSet(String selectedColumn, Class<T> clazz, final String column, final Serializable key) {
|
||||
return source.queryColumnSet(selectedColumn, clazz, column, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, Serializable> handler, final String selectedColumn, final Class<T> clazz, final String column, @DynAttachment final Serializable key) {
|
||||
HashSet<V> rs = source.queryColumnSet(selectedColumn, clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, V extends Serializable> HashSet<V> queryColumnSet(String selectedColumn, Class<T> clazz, FilterBean bean) {
|
||||
return queryColumnSet(selectedColumn, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterBean bean) {
|
||||
queryColumnSet(handler, selectedColumn, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> HashSet<V> queryColumnSet(String selectedColumn, Class<T> clazz, FilterNode node) {
|
||||
return source.queryColumnSet(selectedColumn, clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, @DynAttachment final FilterNode node) {
|
||||
HashSet<V> rs = source.queryColumnSet(selectedColumn, clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> List<V> queryColumnList(String selectedColumn, Class<T> clazz, final String column, final Serializable key) {
|
||||
return source.queryColumnList(selectedColumn, clazz, column, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, Serializable> handler, final String selectedColumn, final Class<T> clazz, final String column, @DynAttachment final Serializable key) {
|
||||
List<V> rs = source.queryColumnList(selectedColumn, clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, V extends Serializable> List<V> queryColumnList(String selectedColumn, Class<T> clazz, FilterBean bean) {
|
||||
return queryColumnList(selectedColumn, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, @DynAttachment final FilterBean bean) {
|
||||
queryColumnList(handler, selectedColumn, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> List<V> queryColumnList(String selectedColumn, Class<T> clazz, FilterNode node) {
|
||||
return source.queryColumnList(selectedColumn, clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, @DynAttachment final FilterNode node) {
|
||||
List<V> rs = source.queryColumnList(selectedColumn, clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, V extends Serializable> Sheet<V> queryColumnSheet(String selectedColumn, Class<T> clazz, Flipper flipper, FilterBean bean) {
|
||||
return queryColumnSheet(selectedColumn, clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T, V extends Serializable> void queryColumnSheet(final CompletionHandler<Sheet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
queryColumnSheet(handler, selectedColumn, clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> Sheet<V> queryColumnSheet(String selectedColumn, Class<T> clazz, Flipper flipper, FilterNode node) {
|
||||
return source.queryColumnSheet(selectedColumn, clazz, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSheet(final CompletionHandler<Sheet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final Flipper flipper, @DynAttachment final FilterNode node) {
|
||||
Sheet<V> rs = source.queryColumnSheet(selectedColumn, clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final String column, final Serializable key) {
|
||||
return source.queryList(clazz, column, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, Serializable> handler, final Class<T> clazz, final String column, @DynAttachment final Serializable key) {
|
||||
List<T> rs = source.queryList(clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> List<T> queryList(final Class<T> clazz, final FilterBean bean) {
|
||||
return queryList(clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final FilterBean bean) {
|
||||
queryList(handler, clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final FilterNode node) {
|
||||
return source.queryList(clazz, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, @DynAttachment final FilterNode node) {
|
||||
List<T> rs = source.queryList(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
|
||||
return queryList(clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
|
||||
queryList(handler, clazz, selects, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
|
||||
return source.queryList(clazz, selects, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, @DynAttachment final FilterNode node) {
|
||||
List<T> rs = source.queryList(clazz, selects, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final Flipper flipper, final String column, final Serializable key) {
|
||||
return source.queryList(clazz, flipper, column, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, Serializable> handler, final Class<T> clazz, final Flipper flipper, final String column, @DynAttachment final Serializable key) {
|
||||
List<T> rs = source.queryList(clazz, flipper, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> List<T> queryList(final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
return queryList(clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
queryList(handler, clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
return source.queryList(clazz, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, @DynAttachment final FilterNode node) {
|
||||
List<T> rs = source.queryList(clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
return queryList(clazz, selects, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
queryList(handler, clazz, selects, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
return source.queryList(clazz, selects, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, SelectColumn selects, final Flipper flipper, @DynAttachment final FilterNode node) {
|
||||
List<T> rs = source.queryList(clazz, selects, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> Sheet<T> querySheet(final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
return querySheet(clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
querySheet(handler, clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Sheet<T> querySheet(final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
return source.querySheet(clazz, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, @DynAttachment final FilterNode node) {
|
||||
Sheet<T> rs = source.querySheet(clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> Sheet<T> querySheet(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
return querySheet(clazz, selects, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
querySheet(handler, clazz, selects, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Sheet<T> querySheet(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
return source.querySheet(clazz, selects, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, @DynAttachment final FilterNode node) {
|
||||
Sheet<T> rs = source.querySheet(clazz, selects, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() throws Exception {
|
||||
source.getClass().getMethod("close").invoke(source);
|
||||
|
||||
@@ -1,25 +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.service;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
import static java.lang.annotation.ElementType.PARAMETER;
|
||||
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||
|
||||
/**
|
||||
* SNCP协议中用于CompletionHandler回调函数中的attach字段。
|
||||
*
|
||||
*
|
||||
* <p> 详情见: http://redkale.org
|
||||
* @author zhangjx
|
||||
*/
|
||||
@Inherited
|
||||
@Documented
|
||||
@Target({PARAMETER})
|
||||
@Retention(RUNTIME)
|
||||
public @interface DynAttachment {
|
||||
|
||||
}
|
||||
@@ -6,7 +6,6 @@
|
||||
package org.redkale.source;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.channels.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@@ -15,6 +14,7 @@ import java.util.*;
|
||||
* @param <V> value的类型
|
||||
* <p>
|
||||
* 详情见: http://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
*/
|
||||
public interface CacheSource<K extends Serializable, V extends Object> {
|
||||
@@ -51,36 +51,4 @@ public interface CacheSource<K extends Serializable, V extends Object> {
|
||||
|
||||
public void removeSetItem(final K key, final V value);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public void exists(final CompletionHandler<Boolean, K> handler, final K key);
|
||||
|
||||
public void get(final CompletionHandler<V, K> handler, final K key);
|
||||
|
||||
public void getAndRefresh(final CompletionHandler<V, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void refresh(final CompletionHandler<Void, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void set(final CompletionHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void set(final CompletionHandler<Void, K> handler, final int expireSeconds, final K key, final V value);
|
||||
|
||||
public void setExpireSeconds(final CompletionHandler<Void, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void remove(final CompletionHandler<Void, K> handler, final K key);
|
||||
|
||||
public void getCollection(final CompletionHandler<Collection<V>, K> handler, final K key);
|
||||
|
||||
public void getCollectionAndRefresh(final CompletionHandler<Collection<V>, K> handler, final K key, final int expireSeconds);
|
||||
|
||||
public void appendListItem(final CompletionHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void removeListItem(final CompletionHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void appendSetItem(final CompletionHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
public void removeSetItem(final CompletionHandler<Void, K> handler, final K key, final V value);
|
||||
|
||||
default void isOpen(final CompletionHandler<Boolean, Void> handler) {
|
||||
if (handler != null) handler.completed(Boolean.TRUE, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ package org.redkale.source;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.URL;
|
||||
import java.nio.channels.CompletionHandler;
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
@@ -326,12 +325,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void insert(final CompletionHandler<Void, T[]> handler, final T... values) {
|
||||
insert(values);
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
private <T> void insert(final Connection conn, final EntityInfo<T> info, T... values) {
|
||||
if (values.length == 0) return;
|
||||
try {
|
||||
@@ -485,12 +478,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final CompletionHandler<Void, T[]> handler, final T... values) {
|
||||
delete(values);
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
private <T> void delete(final Connection conn, final EntityInfo<T> info, T... values) {
|
||||
if (values.length == 0) return;
|
||||
final Attribute primary = info.getPrimary();
|
||||
@@ -517,12 +504,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final CompletionHandler<Void, Serializable[]> handler, final Class<T> clazz, final Serializable... ids) {
|
||||
delete(clazz, ids);
|
||||
if (handler != null) handler.completed(null, ids);
|
||||
}
|
||||
|
||||
private <T> void delete(final Connection conn, final EntityInfo<T> info, Serializable... keys) {
|
||||
if (keys.length == 0) return;
|
||||
try {
|
||||
@@ -567,12 +548,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void delete(final CompletionHandler<Void, FilterNode> handler, final Class<T> clazz, final FilterNode node) {
|
||||
delete(clazz, node);
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
private <T> void delete(final Connection conn, final EntityInfo<T> info, final FilterNode node) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -629,12 +604,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void update(final CompletionHandler<Void, T[]> handler, final T... values) {
|
||||
update(values);
|
||||
if (handler != null) handler.completed(null, values);
|
||||
}
|
||||
|
||||
private <T> void update(final Connection conn, final EntityInfo<T> info, T... values) {
|
||||
try {
|
||||
Class clazz = info.getType();
|
||||
@@ -720,12 +689,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, final Serializable value) {
|
||||
updateColumn(clazz, id, column, value);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
private <T> void updateColumn(Connection conn, final EntityInfo<T> info, Serializable id, String column, Serializable value) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -773,12 +736,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumn(final CompletionHandler<Void, FilterNode> handler, final Class<T> clazz, final String column, final Serializable value, FilterNode node) {
|
||||
updateColumn(clazz, column, value, node);
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
private <T> void updateColumn(Connection conn, final EntityInfo<T> info, String column, Serializable value, FilterNode node) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -831,12 +788,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnIncrement(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
updateColumnIncrement(clazz, id, column, incvalue);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
private <T> void updateColumnIncrement(Connection conn, final EntityInfo<T> info, Serializable id, String column, long incvalue) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -887,12 +838,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnAnd(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
updateColumnAnd(clazz, id, column, incvalue);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
private <T> void updateColumnAnd(Connection conn, final EntityInfo<T> info, Serializable id, String column, long andvalue) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -943,12 +888,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumnOr(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, long incvalue) {
|
||||
updateColumnOr(clazz, id, column, incvalue);
|
||||
if (handler != null) handler.completed(null, id);
|
||||
}
|
||||
|
||||
private <T> void updateColumnOr(Connection conn, final EntityInfo<T> info, Serializable id, String column, long orvalue) {
|
||||
try {
|
||||
if (!info.isVirtualEntity()) {
|
||||
@@ -996,12 +935,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(final CompletionHandler<Void, T> handler, final T bean, final String... columns) {
|
||||
updateColumns(bean, columns);
|
||||
if (handler != null) handler.completed(null, bean);
|
||||
}
|
||||
|
||||
private <T> void updateColumns(final Connection conn, final EntityInfo<T> info, final T bean, final String... columns) {
|
||||
if (bean == null || columns.length < 1) return;
|
||||
try {
|
||||
@@ -1060,12 +993,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void updateColumns(final CompletionHandler<Void, FilterNode> handler, final T bean, final FilterNode node, final String... columns) {
|
||||
updateColumns(bean, node, columns);
|
||||
if (handler != null) handler.completed(null, node);
|
||||
}
|
||||
|
||||
private <T> void updateColumns(final Connection conn, final EntityInfo<T> info, final T bean, final FilterNode node, final String... columns) {
|
||||
if (bean == null || node == null || columns.length < 1) return;
|
||||
try {
|
||||
@@ -1134,22 +1061,11 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return getNumberResult(entityClass, func, column, (FilterNode) null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getNumberResult(final CompletionHandler<Number, String> handler, final Class entityClass, final FilterFunc func, final String column) {
|
||||
Number rs = getNumberResult(entityClass, func, column);
|
||||
if (handler != null) handler.completed(rs, column);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column, FilterBean bean) {
|
||||
return getNumberResult(entityClass, func, column, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getNumberResult(final CompletionHandler<Number, FilterNode> handler, final Class entityClass, final FilterFunc func, final String column, final FilterBean bean) {
|
||||
getNumberResult(handler, entityClass, func, column, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column, final FilterNode node) {
|
||||
final Connection conn = createReadSQLConnection();
|
||||
@@ -1183,34 +1099,17 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getNumberResult(final CompletionHandler<Number, FilterNode> handler, final Class entityClass, final FilterFunc func, final String column, final FilterNode node) {
|
||||
Number rs = getNumberResult(entityClass, func, column, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
//-----------------------queryColumnMap-----------------------------
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn) {
|
||||
return queryColumnMap(entityClass, keyColumn, func, funcColumn, (FilterNode) null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, String> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn) {
|
||||
Map<K, N> map = queryColumnMap(entityClass, keyColumn, func, funcColumn);
|
||||
if (handler != null) handler.completed(map, funcColumn);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn, FilterBean bean) {
|
||||
return queryColumnMap(entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, FilterNode> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, final FilterBean bean) {
|
||||
queryColumnMap(handler, entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, FilterNode node) {
|
||||
final Connection conn = createReadSQLConnection();
|
||||
@@ -1247,12 +1146,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, FilterNode> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, final FilterNode node) {
|
||||
Map<K, N> map = queryColumnMap(entityClass, keyColumn, func, funcColumn, node);
|
||||
if (handler != null) handler.completed(map, node);
|
||||
}
|
||||
|
||||
//-----------------------find----------------------------
|
||||
/**
|
||||
* 根据主键获取对象
|
||||
@@ -1268,12 +1161,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return find(clazz, (SelectColumn) null, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final Serializable pk) {
|
||||
T rs = find(clazz, pk);
|
||||
if (handler != null) handler.completed(rs, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(Class<T> clazz, final SelectColumn selects, Serializable pk) {
|
||||
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||
@@ -1301,58 +1188,26 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final SelectColumn selects, final Serializable pk) {
|
||||
T rs = find(clazz, selects, pk);
|
||||
if (handler != null) handler.completed(rs, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final String column, final Serializable key) {
|
||||
return find(clazz, null, FilterNode.create(column, key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final String column, final Serializable key) {
|
||||
T rs = find(clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final FilterBean bean) {
|
||||
return find(clazz, null, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
T rs = find(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final FilterNode node) {
|
||||
return find(clazz, null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final FilterNode node) {
|
||||
T rs = find(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
|
||||
return find(clazz, selects, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
T rs = find(clazz, selects, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> T find(final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
|
||||
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||
@@ -1380,12 +1235,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
|
||||
T rs = find(clazz, selects, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean exists(Class<T> clazz, Serializable pk) {
|
||||
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||
@@ -1412,24 +1261,11 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void exists(final CompletionHandler<Boolean, Serializable> handler, final Class<T> clazz, final Serializable pk) {
|
||||
boolean rs = exists(clazz, pk);
|
||||
if (handler != null) handler.completed(rs, pk);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean exists(final Class<T> clazz, final FilterBean bean) {
|
||||
return exists(clazz, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void exists(final CompletionHandler<Boolean, FilterNode> handler, final Class<T> clazz, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
boolean rs = exists(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean exists(final Class<T> clazz, final FilterNode node) {
|
||||
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||
@@ -1456,81 +1292,37 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void exists(final CompletionHandler<Boolean, FilterNode> handler, final Class<T> clazz, final FilterNode node) {
|
||||
boolean rs = exists(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
//-----------------------list set----------------------------
|
||||
@Override
|
||||
public <T, V extends Serializable> HashSet<V> queryColumnSet(String selectedColumn, Class<T> clazz, String column, Serializable key) {
|
||||
return queryColumnSet(selectedColumn, clazz, FilterNode.create(column, key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, Serializable> handler, final String selectedColumn, final Class<T> clazz, final String column, final Serializable key) {
|
||||
HashSet<V> rs = queryColumnSet(selectedColumn, clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> HashSet<V> queryColumnSet(final String selectedColumn, final Class<T> clazz, final FilterBean bean) {
|
||||
return new LinkedHashSet<>(queryColumnList(selectedColumn, clazz, bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
HashSet<V> rs = queryColumnSet(selectedColumn, clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> HashSet<V> queryColumnSet(String selectedColumn, Class<T> clazz, FilterNode node) {
|
||||
return new LinkedHashSet<>(queryColumnList(selectedColumn, clazz, node));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterNode node) {
|
||||
HashSet<V> rs = queryColumnSet(selectedColumn, clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> List<V> queryColumnList(final String selectedColumn, final Class<T> clazz, final String column, final Serializable key) {
|
||||
return queryColumnList(selectedColumn, clazz, FilterNode.create(column, key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, Serializable> handler, final String selectedColumn, final Class<T> clazz, final String column, final Serializable key) {
|
||||
List<V> rs = queryColumnList(selectedColumn, clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> List<V> queryColumnList(final String selectedColumn, final Class<T> clazz, final FilterBean bean) {
|
||||
return (List<V>) queryColumnSheet(selectedColumn, clazz, null, bean).list(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterBean bean) {
|
||||
final FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
List<V> rs = queryColumnList(selectedColumn, clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> List<V> queryColumnList(final String selectedColumn, final Class<T> clazz, final FilterNode node) {
|
||||
return (List<V>) queryColumnSheet(selectedColumn, clazz, null, node).list(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterNode node) {
|
||||
List<V> rs = queryColumnList(selectedColumn, clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据指定参数查询对象某个字段的集合
|
||||
* <p>
|
||||
@@ -1548,13 +1340,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return queryColumnSheet(selectedColumn, clazz, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSheet(final CompletionHandler<Sheet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
final FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
Sheet<V> rs = queryColumnSheet(selectedColumn, clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> Sheet<V> queryColumnSheet(final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
Sheet<T> sheet = querySheet(true, true, clazz, SelectColumn.createIncludes(selectedColumn), flipper, node);
|
||||
@@ -1571,12 +1356,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T, V extends Serializable> void queryColumnSheet(final CompletionHandler<Sheet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
Sheet<V> rs = queryColumnSheet(selectedColumn, clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
private <K extends Serializable, T> Map<K, T> formatMap(final Class<T> clazz, final Collection<T> list) {
|
||||
Map<K, T> map = new LinkedHashMap<>();
|
||||
if (list == null || list.isEmpty()) return map;
|
||||
@@ -1602,12 +1381,6 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return queryList(clazz, FilterNode.create(column, key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, Serializable> handler, final Class<T> clazz, final String column, final Serializable key) {
|
||||
List<T> rs = queryList(clazz, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据过滤对象FilterBean查询对象集合
|
||||
*
|
||||
@@ -1622,24 +1395,11 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return queryList(clazz, (SelectColumn) null, bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
List<T> rs = queryList(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final FilterNode node) {
|
||||
return queryList(clazz, (SelectColumn) null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final FilterNode node) {
|
||||
List<T> rs = queryList(clazz, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据过滤对象FilterBean查询对象集合, 对象只填充或排除SelectField指定的字段
|
||||
*
|
||||
@@ -1655,81 +1415,36 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return queryList(clazz, selects, (Flipper) null, bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
List<T> rs = queryList(clazz, selects, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
|
||||
return queryList(clazz, selects, (Flipper) null, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterNode node) {
|
||||
List<T> rs = queryList(clazz, selects, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final Flipper flipper, final String column, final Serializable key) {
|
||||
return queryList(clazz, flipper, FilterNode.create(column, key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, Serializable> handler, final Class<T> clazz, final Flipper flipper, final String column, final Serializable key) {
|
||||
List<T> rs = queryList(clazz, flipper, column, key);
|
||||
if (handler != null) handler.completed(rs, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
return queryList(clazz, null, flipper, bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
List<T> rs = queryList(clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
return queryList(clazz, null, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
List<T> rs = queryList(clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
return querySheet(true, false, clazz, selects, flipper, FilterNodeBean.createFilterNode(bean)).list(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
List<T> rs = queryList(clazz, selects, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
return querySheet(true, false, clazz, selects, flipper, node).list(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
List<T> rs = queryList(clazz, selects, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
//-----------------------sheet----------------------------
|
||||
/**
|
||||
* 根据过滤对象FilterBean和翻页对象Flipper查询一页的数据
|
||||
@@ -1746,24 +1461,11 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return querySheet(clazz, null, flipper, bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
Sheet<T> rs = querySheet(clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Sheet<T> querySheet(final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
return querySheet(clazz, null, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterNode node) {
|
||||
Sheet<T> rs = querySheet(clazz, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据过滤对象FilterBean和翻页对象Flipper查询一页的数据, 对象只填充或排除SelectField指定的字段
|
||||
*
|
||||
@@ -1780,24 +1482,11 @@ public final class DataDefaultSource implements DataSource, Function<Class, Enti
|
||||
return querySheet(true, true, clazz, selects, flipper, FilterNodeBean.createFilterNode(bean));
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean) {
|
||||
FilterNode node = FilterNodeBean.createFilterNode(bean);
|
||||
Sheet<T> rs = querySheet(clazz, selects, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Sheet<T> querySheet(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
return querySheet(true, true, clazz, selects, flipper, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
Sheet<T> rs = querySheet(clazz, selects, flipper, node);
|
||||
if (handler != null) handler.completed(rs, node);
|
||||
}
|
||||
|
||||
private <T> Sheet<T> querySheet(final boolean readcache, final boolean needtotal, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node) {
|
||||
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||
final EntityCache<T> cache = info.getCache();
|
||||
|
||||
@@ -6,14 +6,13 @@
|
||||
package org.redkale.source;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.nio.channels.CompletionHandler;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import org.redkale.util.*;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* DataSource 为数据库或内存数据库的数据源,提供类似JPA、Hibernate的接口与功能。
|
||||
*
|
||||
* <p>
|
||||
@@ -33,9 +32,6 @@ public interface DataSource {
|
||||
*/
|
||||
public <T> void insert(final T... values);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void insert(final CompletionHandler<Void, T[]> handler, final T... values);
|
||||
|
||||
//-------------------------delete--------------------------
|
||||
/**
|
||||
* 删除对象, 必须是Entity对象
|
||||
@@ -57,13 +53,6 @@ public interface DataSource {
|
||||
|
||||
public <T> void delete(final Class<T> clazz, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void delete(final CompletionHandler<Void, T[]> handler, final T... values);
|
||||
|
||||
public <T> void delete(final CompletionHandler<Void, Serializable[]> handler, final Class<T> clazz, final Serializable... ids);
|
||||
|
||||
public <T> void delete(final CompletionHandler<Void, FilterNode> handler, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
//------------------------update---------------------------
|
||||
/**
|
||||
* 更新对象, 必须是Entity对象
|
||||
@@ -87,23 +76,6 @@ public interface DataSource {
|
||||
|
||||
public <T> void updateColumns(final T bean, final FilterNode node, final String... columns);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void update(final CompletionHandler<Void, T[]> handler, final T... values);
|
||||
|
||||
public <T> void updateColumn(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, final Serializable value);
|
||||
|
||||
public <T> void updateColumn(final CompletionHandler<Void, FilterNode> handler, final Class<T> clazz, final String column, final Serializable value, final FilterNode node);
|
||||
|
||||
public <T> void updateColumnIncrement(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnAnd(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumnOr(final CompletionHandler<Void, Serializable> handler, final Class<T> clazz, final Serializable id, final String column, long incvalue);
|
||||
|
||||
public <T> void updateColumns(final CompletionHandler<Void, T> handler, final T bean, final String... columns);
|
||||
|
||||
public <T> void updateColumns(final CompletionHandler<Void, FilterNode> handler, final T bean, final FilterNode node, final String... columns);
|
||||
|
||||
//############################################# 查询接口 #############################################
|
||||
//-----------------------getXXXXResult-----------------------------
|
||||
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column);
|
||||
@@ -118,19 +90,6 @@ public interface DataSource {
|
||||
|
||||
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public void getNumberResult(final CompletionHandler<Number, String> handler, final Class entityClass, final FilterFunc func, final String column);
|
||||
|
||||
public void getNumberResult(final CompletionHandler<Number, FilterNode> handler, final Class entityClass, final FilterFunc func, final String column, final FilterBean bean);
|
||||
|
||||
public void getNumberResult(final CompletionHandler<Number, FilterNode> handler, final Class entityClass, final FilterFunc func, final String column, final FilterNode node);
|
||||
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, String> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn);
|
||||
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, FilterNode> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, final FilterBean bean);
|
||||
|
||||
public <T, K extends Serializable, N extends Number> void queryColumnMap(final CompletionHandler<Map<K, N>, FilterNode> handler, final Class<T> entityClass, final String keyColumn, final FilterFunc func, final String funcColumn, final FilterNode node);
|
||||
|
||||
//-----------------------find----------------------------
|
||||
/**
|
||||
* 根据主键获取对象
|
||||
@@ -161,27 +120,6 @@ public interface DataSource {
|
||||
|
||||
public <T> boolean exists(final Class<T> clazz, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final Serializable pk);
|
||||
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final SelectColumn selects, final Serializable pk);
|
||||
|
||||
public <T> void find(final CompletionHandler<T, Serializable> handler, final Class<T> clazz, final String column, final Serializable key);
|
||||
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final FilterBean bean);
|
||||
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterBean bean);
|
||||
|
||||
public <T> void find(final CompletionHandler<T, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterNode node);
|
||||
|
||||
public <T> void exists(final CompletionHandler<Boolean, Serializable> handler, final Class<T> clazz, final Serializable pk);
|
||||
|
||||
public <T> void exists(final CompletionHandler<Boolean, FilterNode> handler, final Class<T> clazz, final FilterBean bean);
|
||||
|
||||
public <T> void exists(final CompletionHandler<Boolean, FilterNode> handler, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
//-----------------------list set----------------------------
|
||||
/**
|
||||
* 根据指定字段值查询对象某个字段的集合
|
||||
@@ -207,19 +145,6 @@ public interface DataSource {
|
||||
|
||||
public <T, V extends Serializable> List<V> queryColumnList(final String selectedColumn, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, Serializable> handler, final String selectedColumn, final Class<T> clazz, final String column, final Serializable key);
|
||||
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterBean bean);
|
||||
|
||||
public <T, V extends Serializable> void queryColumnSet(final CompletionHandler<HashSet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, Serializable> handler, final String selectedColumn, final Class<T> clazz, final String column, final Serializable key);
|
||||
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterBean bean);
|
||||
|
||||
public <T, V extends Serializable> void queryColumnList(final CompletionHandler<List<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
/**
|
||||
* 根据指定参数查询对象某个字段的集合
|
||||
*
|
||||
@@ -236,11 +161,6 @@ public interface DataSource {
|
||||
|
||||
public <T, V extends Serializable> Sheet<V> queryColumnSheet(final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T, V extends Serializable> void queryColumnSheet(final CompletionHandler<Sheet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterBean bean);
|
||||
|
||||
public <T, V extends Serializable> void queryColumnSheet(final CompletionHandler<Sheet<V>, FilterNode> handler, final String selectedColumn, final Class<T> clazz, final Flipper flipper, final FilterNode node);
|
||||
|
||||
/**
|
||||
* 根据指定字段值查询对象集合
|
||||
*
|
||||
@@ -271,27 +191,6 @@ public interface DataSource {
|
||||
|
||||
public <T> List<T> queryList(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void queryList(final CompletionHandler<List<T>, Serializable> handler, final Class<T> clazz, final String column, final Serializable key);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final FilterBean bean);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final FilterNode node);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterBean bean);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final FilterNode node);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, Serializable> handler, final Class<T> clazz, final Flipper flipper, final String column, final Serializable key);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterBean bean);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterNode node);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean);
|
||||
|
||||
public <T> void queryList(final CompletionHandler<List<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node);
|
||||
|
||||
//-----------------------sheet----------------------------
|
||||
/**
|
||||
* 根据指定参数查询对象某个对象的集合页
|
||||
@@ -311,15 +210,6 @@ public interface DataSource {
|
||||
|
||||
public <T> Sheet<T> querySheet(final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node);
|
||||
|
||||
//----------------------异步版---------------------------------
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterBean bean);
|
||||
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final Flipper flipper, final FilterNode node);
|
||||
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterBean bean);
|
||||
|
||||
public <T> void querySheet(final CompletionHandler<Sheet<T>, FilterNode> handler, final Class<T> clazz, final SelectColumn selects, final Flipper flipper, final FilterNode node);
|
||||
|
||||
//-----------------------direct----------------------------
|
||||
/**
|
||||
* 直接本地执行SQL语句进行查询,远程模式不可用
|
||||
|
||||
Reference in New Issue
Block a user