增加ColumnNodes
This commit is contained in:
@@ -38,7 +38,7 @@ public class ColumnExpNode implements ColumnNode {
|
|||||||
public ColumnExpNode() {
|
public ColumnExpNode() {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ColumnExpNode(Serializable left, ColumnExpress express, Serializable right) {
|
public ColumnExpNode(Serializable left, ColumnExpress express, Serializable right) {
|
||||||
if (express == null) {
|
if (express == null) {
|
||||||
throw new IllegalArgumentException("express cannot be null");
|
throw new IllegalArgumentException("express cannot be null");
|
||||||
}
|
}
|
||||||
@@ -72,38 +72,106 @@ public class ColumnExpNode implements ColumnNode {
|
|||||||
return (ColumnNode) value;
|
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) {
|
public static ColumnExpNode mov(String left) {
|
||||||
return new ColumnExpNode(left, MOV, null);
|
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) {
|
public static ColumnExpNode inc(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, INC, 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) {
|
public static ColumnExpNode dec(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, DEC, 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) {
|
public static ColumnExpNode mul(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, MUL, 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) {
|
public static ColumnExpNode div(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, DIV, 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) {
|
public static ColumnExpNode mod(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, MOD, 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) {
|
public static ColumnExpNode and(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, AND, 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) {
|
public static ColumnExpNode orr(Serializable left, Serializable right) {
|
||||||
return new ColumnExpNode(left, ORR, right);
|
return new ColumnExpNode(left, ORR, right);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class ColumnFuncNode implements ColumnNode {
|
|||||||
public ColumnFuncNode() {
|
public ColumnFuncNode() {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ColumnFuncNode(FilterFunc func, Serializable node) {
|
public ColumnFuncNode(FilterFunc func, Serializable node) {
|
||||||
this.func = func;
|
this.func = func;
|
||||||
this.value = createColumnNode(node);
|
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) {
|
public static ColumnFuncNode avg(Serializable node) {
|
||||||
return new ColumnFuncNode(FilterFunc.AVG, 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) {
|
public static ColumnFuncNode count(Serializable node) {
|
||||||
return new ColumnFuncNode(FilterFunc.COUNT, 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) {
|
public static ColumnFuncNode distinctCount(Serializable node) {
|
||||||
return new ColumnFuncNode(FilterFunc.DISTINCTCOUNT, 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) {
|
public static ColumnFuncNode max(Serializable node) {
|
||||||
return new ColumnFuncNode(FilterFunc.MAX, 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) {
|
public static ColumnFuncNode min(Serializable node) {
|
||||||
return new ColumnFuncNode(FilterFunc.MIN, 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) {
|
public static ColumnFuncNode sum(Serializable node) {
|
||||||
return new ColumnFuncNode(FilterFunc.SUM, node);
|
return new ColumnFuncNode(FilterFunc.SUM, node);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,10 +28,6 @@ public class ColumnNameNode implements ColumnNode {
|
|||||||
this.column = column;
|
this.column = column;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ColumnNameNode create(String column) {
|
|
||||||
return new ColumnNameNode(column);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getColumn() {
|
public String getColumn() {
|
||||||
return column;
|
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;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ColumnNumberNode create(Number value) {
|
|
||||||
return new ColumnNumberNode(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Number getValue() {
|
public Number getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,10 +28,6 @@ public class ColumnStringNode implements ColumnNode {
|
|||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ColumnStringNode create(String value) {
|
|
||||||
return new ColumnStringNode(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getValue() {
|
public String getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
package org.redkale.util;
|
package org.redkale.util;
|
||||||
|
|
||||||
import java.lang.reflect.*;
|
import java.lang.reflect.*;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.redkale.convert.*;
|
import org.redkale.convert.*;
|
||||||
@@ -21,18 +22,27 @@ import org.redkale.convert.json.*;
|
|||||||
*/
|
*/
|
||||||
public class OneOrList<T> implements java.io.Serializable {
|
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>>() {
|
public static final Type TYPE_OL_STRING = new TypeToken<OneOrList<String>>() {
|
||||||
}.getType();
|
}.getType();
|
||||||
|
|
||||||
public static final Type TYPE_OL_INTEGER = new TypeToken<OneOrList<Integer>>() {
|
public static final Type TYPE_OL_INTEGER = new TypeToken<OneOrList<Integer>>() {
|
||||||
}.getType();
|
}.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>>() {
|
public static final Type TYPE_OL_BIGINTEGER = new TypeToken<OneOrList<BigInteger>>() {
|
||||||
}.getType();
|
}.getType();
|
||||||
|
|
||||||
|
public static final Type TYPE_OL_BIGDECIMAL = new TypeToken<OneOrList<BigDecimal>>() {
|
||||||
|
}.getType();
|
||||||
|
|
||||||
@ConvertColumn(index = 1)
|
@ConvertColumn(index = 1)
|
||||||
protected T one;
|
protected T one;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user