This commit is contained in:
@@ -139,32 +139,32 @@ public class DataSourceService implements DataSource, Service {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return source.getNumberResult(entityClass, func, column);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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));
|
return getNumberResult(entityClass, func, column, FilterNodeBean.createFilterNode(bean));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return source.getNumberResult(entityClass, func, column, node);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return source.queryColumnMap(entityClass, keyColumn, func, funcColumn);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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));
|
return queryColumnMap(entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
return source.queryColumnMap(entityClass, keyColumn, func, funcColumn, node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1066,17 +1066,17 @@ public final class DataDefaultSource implements DataSource, Nameable, Function<C
|
|||||||
|
|
||||||
//-----------------------getNumberResult-----------------------------
|
//-----------------------getNumberResult-----------------------------
|
||||||
@Override
|
@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);
|
return getNumberResult(entityClass, func, column, (FilterNode) null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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));
|
return getNumberResult(entityClass, func, column, FilterNodeBean.createFilterNode(bean));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
final Connection conn = createReadSQLConnection();
|
||||||
try {
|
try {
|
||||||
final EntityInfo info = loadEntityInfo(entityClass);
|
final EntityInfo info = loadEntityInfo(entityClass);
|
||||||
@@ -1110,17 +1110,17 @@ public final class DataDefaultSource implements DataSource, Nameable, Function<C
|
|||||||
|
|
||||||
//-----------------------queryColumnMap-----------------------------
|
//-----------------------queryColumnMap-----------------------------
|
||||||
@Override
|
@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);
|
return queryColumnMap(entityClass, keyColumn, func, funcColumn, (FilterNode) null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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));
|
return queryColumnMap(entityClass, keyColumn, func, funcColumn, FilterNodeBean.createFilterNode(bean));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
final Connection conn = createReadSQLConnection();
|
||||||
try {
|
try {
|
||||||
final EntityInfo info = loadEntityInfo(entityClass);
|
final EntityInfo info = loadEntityInfo(entityClass);
|
||||||
|
|||||||
@@ -100,17 +100,17 @@ public interface DataSource {
|
|||||||
public <T> void updateColumnOr(final DataConnection conn, Class<T> clazz, Serializable id, String column, long incvalue);
|
public <T> void updateColumnOr(final DataConnection conn, Class<T> clazz, Serializable id, String column, long incvalue);
|
||||||
|
|
||||||
//-----------------------getXXXXResult-----------------------------
|
//-----------------------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----------------------------
|
//-----------------------find----------------------------
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import java.util.function.*;
|
|||||||
import java.util.logging.*;
|
import java.util.logging.*;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
import static org.redkale.source.FuncEnum.*;
|
import static org.redkale.source.FilterFunc.*;
|
||||||
import java.util.stream.*;
|
import java.util.stream.*;
|
||||||
import org.redkale.util.*;
|
import org.redkale.util.*;
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ public final class EntityCache<T> {
|
|||||||
return (filter != null) && this.list.stream().filter(filter).findFirst().isPresent();
|
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 Attribute<T, Serializable> keyAttr = info.getAttribute(keyColumn);
|
||||||
final Predicate filter = node == null ? null : node.createPredicate(this);
|
final Predicate filter = node == null ? null : node.createPredicate(this);
|
||||||
final Attribute funcAttr = funcColumn == null ? null : info.getAttribute(funcColumn);
|
final Attribute funcAttr = funcColumn == null ? null : info.getAttribute(funcColumn);
|
||||||
@@ -198,7 +198,7 @@ public final class EntityCache<T> {
|
|||||||
return rs;
|
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 Attribute<T, Serializable> attr = column == null ? null : info.getAttribute(column);
|
||||||
final Predicate<T> filter = node == null ? null : node.createPredicate(this);
|
final Predicate<T> filter = node == null ? null : node.createPredicate(this);
|
||||||
Stream<T> stream = this.list.stream();
|
Stream<T> stream = this.list.stream();
|
||||||
|
|||||||
@@ -9,8 +9,13 @@ package org.redkale.source;
|
|||||||
*
|
*
|
||||||
* @author zhangjx
|
* @author zhangjx
|
||||||
*/
|
*/
|
||||||
public enum FuncEnum {
|
public enum FilterFunc {
|
||||||
AVG, COUNT, DISTINCTCOUNT, MAX, MIN, SUM;
|
AVG,
|
||||||
|
COUNT,
|
||||||
|
DISTINCTCOUNT,
|
||||||
|
MAX,
|
||||||
|
MIN,
|
||||||
|
SUM;
|
||||||
|
|
||||||
public String getColumn(String col) {
|
public String getColumn(String col) {
|
||||||
if (this == DISTINCTCOUNT) return "COUNT(DISTINCT " + col + ")";
|
if (this == DISTINCTCOUNT) return "COUNT(DISTINCT " + col + ")";
|
||||||
Reference in New Issue
Block a user