增加ColumnNodes
This commit is contained in:
@@ -38,7 +38,7 @@ public class ColumnExpNode implements ColumnNode {
|
||||
public ColumnExpNode() {
|
||||
}
|
||||
|
||||
protected ColumnExpNode(Serializable left, ColumnExpress express, Serializable right) {
|
||||
public ColumnExpNode(Serializable left, ColumnExpress express, Serializable right) {
|
||||
if (express == null) {
|
||||
throw new IllegalArgumentException("express cannot be null");
|
||||
}
|
||||
@@ -72,38 +72,106 @@ public class ColumnExpNode implements ColumnNode {
|
||||
return (ColumnNode) value;
|
||||
}
|
||||
|
||||
public static ColumnExpNode create(Serializable left, ColumnExpress express, Serializable right) {
|
||||
return new ColumnExpNode(left, express, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#mov(java.lang.String)
|
||||
*
|
||||
* @param left Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode mov(String left) {
|
||||
return new ColumnExpNode(left, MOV, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#inc(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode inc(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, INC, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#dec(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode dec(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, DEC, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#mul(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode mul(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, MUL, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#div(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode div(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, DIV, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#mod(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode mod(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, MOD, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#and(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode and(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, AND, right);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#orr(java.io.Serializable, java.io.Serializable)
|
||||
* @param left Serializable
|
||||
* @param right Serializable
|
||||
*
|
||||
* @return ColumnExpNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnExpNode orr(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, ORR, right);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class ColumnFuncNode implements ColumnNode {
|
||||
public ColumnFuncNode() {
|
||||
}
|
||||
|
||||
protected ColumnFuncNode(FilterFunc func, Serializable node) {
|
||||
public ColumnFuncNode(FilterFunc func, Serializable node) {
|
||||
this.func = func;
|
||||
this.value = createColumnNode(node);
|
||||
}
|
||||
@@ -47,30 +47,74 @@ public class ColumnFuncNode implements ColumnNode {
|
||||
}
|
||||
}
|
||||
|
||||
public static ColumnFuncNode create(FilterFunc func, Serializable node) {
|
||||
return new ColumnFuncNode(func, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#avg(java.io.Serializable)
|
||||
* @param node Serializable
|
||||
*
|
||||
* @return ColumnFuncNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnFuncNode avg(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.AVG, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#count(java.io.Serializable)
|
||||
* @param node Serializable
|
||||
*
|
||||
* @return ColumnFuncNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnFuncNode count(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.COUNT, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#distinctCount(java.io.Serializable)
|
||||
* @param node Serializable
|
||||
*
|
||||
* @return ColumnFuncNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnFuncNode distinctCount(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.DISTINCTCOUNT, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#max(java.io.Serializable)
|
||||
* @param node Serializable
|
||||
*
|
||||
* @return ColumnFuncNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnFuncNode max(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.MAX, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#min(java.io.Serializable)
|
||||
* @param node Serializable
|
||||
*
|
||||
* @return ColumnFuncNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnFuncNode min(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.MIN, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.redkale.source.ColumnNodes#sum(java.io.Serializable)
|
||||
* @param node Serializable
|
||||
*
|
||||
* @return ColumnFuncNode
|
||||
* @deprecated 2.8.0
|
||||
*/
|
||||
@Deprecated(since = "2.8.0")
|
||||
public static ColumnFuncNode sum(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.SUM, node);
|
||||
}
|
||||
|
||||
@@ -28,10 +28,6 @@ public class ColumnNameNode implements ColumnNode {
|
||||
this.column = column;
|
||||
}
|
||||
|
||||
public static ColumnNameNode create(String column) {
|
||||
return new ColumnNameNode(column);
|
||||
}
|
||||
|
||||
public String getColumn() {
|
||||
return column;
|
||||
}
|
||||
|
||||
100
src/main/java/org/redkale/source/ColumnNodes.java
Normal file
100
src/main/java/org/redkale/source/ColumnNodes.java
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
*
|
||||
*/
|
||||
package org.redkale.source;
|
||||
|
||||
import java.io.Serializable;
|
||||
import static org.redkale.source.ColumnExpress.*;
|
||||
|
||||
/**
|
||||
* 创建ColumnNode的工具类
|
||||
*
|
||||
* <p>
|
||||
* 详情见: https://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
* @since 2.8.0
|
||||
*/
|
||||
public abstract class ColumnNodes {
|
||||
|
||||
private ColumnNodes() {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
public static ColumnNameNode column(String column) {
|
||||
return new ColumnNameNode(column);
|
||||
}
|
||||
|
||||
public static ColumnNumberNode number(Number value) {
|
||||
return new ColumnNumberNode(value);
|
||||
}
|
||||
|
||||
public static ColumnStringNode string(String value) {
|
||||
return new ColumnStringNode(value);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode func(FilterFunc func, Serializable node) {
|
||||
return new ColumnFuncNode(func, node);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode avg(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.AVG, node);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode count(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.COUNT, node);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode distinctCount(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.DISTINCTCOUNT, node);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode max(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.MAX, node);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode min(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.MIN, node);
|
||||
}
|
||||
|
||||
public static ColumnFuncNode sum(Serializable node) {
|
||||
return new ColumnFuncNode(FilterFunc.SUM, node);
|
||||
}
|
||||
|
||||
public static ColumnExpNode exp(Serializable left, ColumnExpress express, Serializable right) {
|
||||
return new ColumnExpNode(left, express, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode mov(String left) {
|
||||
return new ColumnExpNode(left, MOV, null);
|
||||
}
|
||||
|
||||
public static ColumnExpNode inc(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, INC, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode dec(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, DEC, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode mul(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, MUL, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode div(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, DIV, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode mod(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, MOD, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode and(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, AND, right);
|
||||
}
|
||||
|
||||
public static ColumnExpNode orr(Serializable left, Serializable right) {
|
||||
return new ColumnExpNode(left, ORR, right);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -28,10 +28,6 @@ public class ColumnNumberNode implements ColumnNode {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static ColumnNumberNode create(Number value) {
|
||||
return new ColumnNumberNode(value);
|
||||
}
|
||||
|
||||
public Number getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@@ -28,10 +28,6 @@ public class ColumnStringNode implements ColumnNode {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static ColumnStringNode create(String value) {
|
||||
return new ColumnStringNode(value);
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
package org.redkale.util;
|
||||
|
||||
import java.lang.reflect.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.util.List;
|
||||
import org.redkale.convert.*;
|
||||
@@ -21,18 +22,27 @@ import org.redkale.convert.json.*;
|
||||
*/
|
||||
public class OneOrList<T> implements java.io.Serializable {
|
||||
|
||||
public static final Type TYPE_OL_LONG = new TypeToken<OneOrList<Long>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_STRING = new TypeToken<OneOrList<String>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_INTEGER = new TypeToken<OneOrList<Integer>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_LONG = new TypeToken<OneOrList<Long>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_FLOAT = new TypeToken<OneOrList<Float>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_DOUBLE = new TypeToken<OneOrList<Double>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_BIGINTEGER = new TypeToken<OneOrList<BigInteger>>() {
|
||||
}.getType();
|
||||
|
||||
public static final Type TYPE_OL_BIGDECIMAL = new TypeToken<OneOrList<BigDecimal>>() {
|
||||
}.getType();
|
||||
|
||||
@ConvertColumn(index = 1)
|
||||
protected T one;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user