删除Source异步版接口

This commit is contained in:
Redkale
2016-08-27 15:25:03 +08:00
parent 4647545ff5
commit cffe181344
7 changed files with 16 additions and 902 deletions

View File

@@ -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);
}
}
});
}

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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 {
}

View File

@@ -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);
}
}

View File

@@ -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();

View File

@@ -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语句进行查询远程模式不可用