This commit is contained in:
wentch
2015-12-14 15:10:19 +08:00
parent bc07d49751
commit 3800f2deaf
5 changed files with 28 additions and 23 deletions

View File

@@ -139,32 +139,32 @@ public class DataSourceService implements DataSource, Service {
}
@Override
public Number getNumberResult(Class entityClass, FuncEnum func, String column) {
public Number getNumberResult(Class entityClass, FilterFunc func, String column) {
return source.getNumberResult(entityClass, func, column);
}
@Override
public final Number getNumberResult(Class entityClass, FuncEnum func, String column, FilterBean bean) {
public final Number getNumberResult(Class entityClass, FilterFunc func, String column, FilterBean bean) {
return getNumberResult(entityClass, func, column, FilterNodeBean.createFilterNode(bean));
}
@Override
public Number getNumberResult(Class entityClass, FuncEnum func, String column, FilterNode node) {
public Number getNumberResult(Class entityClass, FilterFunc func, String column, FilterNode node) {
return source.getNumberResult(entityClass, func, column, node);
}
@Override
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, String keyColumn, FuncEnum func, String funcColumn) {
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, String keyColumn, FilterFunc func, String funcColumn) {
return source.queryColumnMap(entityClass, keyColumn, func, funcColumn);
}
@Override
public final <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, String keyColumn, FuncEnum func, String funcColumn, FilterBean bean) {
public final <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, String keyColumn, FilterFunc func, String funcColumn, FilterBean bean) {
return queryColumnMap(entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
}
@Override
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, String keyColumn, FuncEnum func, String funcColumn, FilterNode node) {
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, String keyColumn, FilterFunc func, String funcColumn, FilterNode node) {
return source.queryColumnMap(entityClass, keyColumn, func, funcColumn, node);
}

View File

@@ -1066,17 +1066,17 @@ public final class DataDefaultSource implements DataSource, Nameable, Function<C
//-----------------------getNumberResult-----------------------------
@Override
public Number getNumberResult(final Class entityClass, final FuncEnum func, final String column) {
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column) {
return getNumberResult(entityClass, func, column, (FilterNode) null);
}
@Override
public Number getNumberResult(final Class entityClass, final FuncEnum func, final String column, FilterBean bean) {
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column, FilterBean bean) {
return getNumberResult(entityClass, func, column, FilterNodeBean.createFilterNode(bean));
}
@Override
public Number getNumberResult(final Class entityClass, final FuncEnum func, final String column, final FilterNode node) {
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column, final FilterNode node) {
final Connection conn = createReadSQLConnection();
try {
final EntityInfo info = loadEntityInfo(entityClass);
@@ -1110,17 +1110,17 @@ public final class DataDefaultSource implements DataSource, Nameable, Function<C
//-----------------------queryColumnMap-----------------------------
@Override
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FuncEnum func, final String funcColumn) {
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> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, FuncEnum func, final String funcColumn, FilterBean bean) {
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> Map<K, N> queryColumnMap(final Class<T> entityClass, final String keyColumn, final FuncEnum func, final String funcColumn, FilterNode node) {
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();
try {
final EntityInfo info = loadEntityInfo(entityClass);

View File

@@ -100,17 +100,17 @@ public interface DataSource {
public <T> void updateColumnOr(final DataConnection conn, Class<T> clazz, Serializable id, String column, long incvalue);
//-----------------------getXXXXResult-----------------------------
public Number getNumberResult(final Class entityClass, final FuncEnum func, final String column);
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column);
public Number getNumberResult(final Class entityClass, final FuncEnum func, final String column, FilterBean bean);
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column, FilterBean bean);
public Number getNumberResult(final Class entityClass, final FuncEnum func, final String column, FilterNode node);
public Number getNumberResult(final Class entityClass, final FilterFunc func, final String column, FilterNode node);
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, final String keyColumn, FuncEnum func, final String funcColumn);
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn);
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, final String keyColumn, FuncEnum func, final String funcColumn, final FilterBean bean);
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn, final FilterBean bean);
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, final String keyColumn, FuncEnum func, final String funcColumn, final FilterNode node);
public <T, K extends Serializable, N extends Number> Map<K, N> queryColumnMap(Class<T> entityClass, final String keyColumn, FilterFunc func, final String funcColumn, final FilterNode node);
//-----------------------find----------------------------
/**

View File

@@ -12,7 +12,7 @@ import java.util.function.*;
import java.util.logging.*;
import java.util.stream.Stream;
import javax.persistence.Transient;
import static org.redkale.source.FuncEnum.*;
import static org.redkale.source.FilterFunc.*;
import java.util.stream.*;
import org.redkale.util.*;
@@ -149,7 +149,7 @@ public final class EntityCache<T> {
return (filter != null) && this.list.stream().filter(filter).findFirst().isPresent();
}
public <K, V> Map<Serializable, Number> queryColumnMap(final String keyColumn, final FuncEnum func, final String funcColumn, FilterNode node) {
public <K, V> Map<Serializable, Number> queryColumnMap(final String keyColumn, final FilterFunc func, final String funcColumn, FilterNode node) {
final Attribute<T, Serializable> keyAttr = info.getAttribute(keyColumn);
final Predicate filter = node == null ? null : node.createPredicate(this);
final Attribute funcAttr = funcColumn == null ? null : info.getAttribute(funcColumn);
@@ -198,7 +198,7 @@ public final class EntityCache<T> {
return rs;
}
public <V> Number getNumberResult(final FuncEnum func, final String column, FilterNode node) {
public <V> Number getNumberResult(final FilterFunc func, final String column, FilterNode node) {
final Attribute<T, Serializable> attr = column == null ? null : info.getAttribute(column);
final Predicate<T> filter = node == null ? null : node.createPredicate(this);
Stream<T> stream = this.list.stream();

View File

@@ -9,8 +9,13 @@ package org.redkale.source;
*
* @author zhangjx
*/
public enum FuncEnum {
AVG, COUNT, DISTINCTCOUNT, MAX, MIN, SUM;
public enum FilterFunc {
AVG,
COUNT,
DISTINCTCOUNT,
MAX,
MIN,
SUM;
public String getColumn(String col) {
if (this == DISTINCTCOUNT) return "COUNT(DISTINCT " + col + ")";