From 4804eed0a7dbee550705cba57be5e5c99b712cba Mon Sep 17 00:00:00 2001 From: redkale Date: Sat, 29 Jul 2023 22:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4FilterNode=E4=B8=AD=E7=9A=84i?= =?UTF-8?q?temand=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/redkale/source/FilterJoinNode.java | 16 +-- .../java/org/redkale/source/FilterNode.java | 117 +++--------------- .../org/redkale/source/FilterNodeBean.java | 8 +- 3 files changed, 25 insertions(+), 116 deletions(-) diff --git a/src/main/java/org/redkale/source/FilterJoinNode.java b/src/main/java/org/redkale/source/FilterJoinNode.java index a5d7e3d39..d9d39ed2f 100644 --- a/src/main/java/org/redkale/source/FilterJoinNode.java +++ b/src/main/java/org/redkale/source/FilterJoinNode.java @@ -31,7 +31,7 @@ public class FilterJoinNode extends FilterNode { public FilterJoinNode() { } - protected FilterJoinNode(Class joinClass, String[] joinColumns, String column, FilterExpress express, boolean itemand, Serializable value) { + protected FilterJoinNode(Class joinClass, String[] joinColumns, String column, FilterExpress express, Serializable value) { Objects.requireNonNull(joinClass); Objects.requireNonNull(joinColumns); if (express == null && value != null) { @@ -47,12 +47,11 @@ public class FilterJoinNode extends FilterNode { this.joinColumns = joinColumns; this.column = column; this.express = express == null ? EQUAL : express; - this.itemand = itemand; this.value = value; } protected FilterJoinNode(FilterJoinNode node) { - this(node.joinClass, node.joinColumns, node.column, node.express, node.itemand, node.value); + this(node.joinClass, node.joinColumns, node.column, node.express, node.value); this.joinEntity = node.joinEntity; this.or = node.or; this.nodes = node.nodes; @@ -66,20 +65,12 @@ public class FilterJoinNode extends FilterNode { return create(joinClass, new String[]{joinColumn}, column, express, value); } - public static FilterJoinNode create(Class joinClass, String joinColumn, String column, FilterExpress express, boolean itemand, Serializable value) { - return create(joinClass, new String[]{joinColumn}, column, express, itemand, value); - } - public static FilterJoinNode create(Class joinClass, String[] joinColumns, String column, Serializable value) { return create(joinClass, joinColumns, column, null, value); } public static FilterJoinNode create(Class joinClass, String[] joinColumns, String column, FilterExpress express, Serializable value) { - return create(joinClass, joinColumns, column, express, true, value); - } - - public static FilterJoinNode create(Class joinClass, String[] joinColumns, String column, FilterExpress express, boolean itemand, Serializable value) { - return new FilterJoinNode(joinClass, joinColumns, column, express, itemand, value); + return new FilterJoinNode(joinClass, joinColumns, column, express, value); } @Override @@ -117,7 +108,6 @@ public class FilterJoinNode extends FilterNode { this.nodes = new FilterNode[]{new FilterJoinNode(this), node}; this.column = null; this.express = null; - this.itemand = true; this.value = null; this.joinClass = null; this.joinEntity = null; diff --git a/src/main/java/org/redkale/source/FilterNode.java b/src/main/java/org/redkale/source/FilterNode.java index f8aa04bcc..c3761a88e 100644 --- a/src/main/java/org/redkale/source/FilterNode.java +++ b/src/main/java/org/redkale/source/FilterNode.java @@ -33,8 +33,6 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 protected Serializable value; - protected boolean itemand; - //---------------------------------------------- protected boolean or; @@ -43,7 +41,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 public FilterNode() { } - protected FilterNode(String col, FilterExpress exp, boolean itemand, Serializable val) { + protected FilterNode(String col, FilterExpress exp, Serializable val) { Objects.requireNonNull(col); if (exp == null) { if (val instanceof Range) { @@ -78,7 +76,6 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } this.column = col; this.express = exp == null ? EQUAL : exp; - this.itemand = itemand; this.value = val; } @@ -91,7 +88,6 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 node.column = this.column; node.express = this.express; node.value = this.value; - node.itemand = this.itemand; node.or = this.or; if (this.nodes != null) { node.nodes = new FilterNode[this.nodes.length]; @@ -154,11 +150,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public final FilterNode and(String column, FilterExpress express, Serializable value) { - return and(column, express, true, value); - } - - public final FilterNode and(String column, FilterExpress express, boolean itemand, Serializable value) { - return and(new FilterNode(column, express, itemand, value)); + return and(new FilterNode(column, express, value)); } public final FilterNode and(LambdaSupplier func) { @@ -166,11 +158,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public final FilterNode and(LambdaSupplier func, FilterExpress express) { - return and(func, express, true); - } - - public final FilterNode and(LambdaSupplier func, FilterExpress express, boolean itemand) { - return and(new FilterNode(LambdaSupplier.readColumn(func), express, itemand, func.get())); + return and(new FilterNode(LambdaSupplier.readColumn(func), express, func.get())); } public final FilterNode and(LambdaFunction func, Serializable value) { @@ -178,11 +166,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public final FilterNode and(LambdaFunction func, FilterExpress express, Serializable value) { - return and(func, express, true, value); - } - - public final FilterNode and(LambdaFunction func, FilterExpress express, boolean itemand, Serializable value) { - return and(new FilterNode(LambdaFunction.readColumn(func), express, itemand, value)); + return and(new FilterNode(LambdaFunction.readColumn(func), express, value)); } public final FilterNode or(FilterNode node) { @@ -194,11 +178,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public final FilterNode or(String column, FilterExpress express, Serializable value) { - return or(column, express, true, value); - } - - public final FilterNode or(String column, FilterExpress express, boolean itemand, Serializable value) { - return or(new FilterNode(column, express, itemand, value)); + return or(new FilterNode(column, express, value)); } public final FilterNode or(LambdaSupplier func) { @@ -206,11 +186,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public final FilterNode or(LambdaSupplier func, FilterExpress express) { - return or(func, express, true); - } - - public final FilterNode or(LambdaSupplier func, FilterExpress express, boolean itemand) { - return or(new FilterNode(LambdaSupplier.readColumn(func), express, itemand, func.get())); + return or(new FilterNode(LambdaSupplier.readColumn(func), express, func.get())); } public final FilterNode or(LambdaFunction func, Serializable value) { @@ -218,11 +194,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public final FilterNode or(LambdaFunction func, FilterExpress express, Serializable value) { - return or(func, express, true, value); - } - - public final FilterNode or(LambdaFunction func, FilterExpress express, boolean itemand, Serializable value) { - return or(new FilterNode(LambdaFunction.readColumn(func), express, itemand, value)); + return or(new FilterNode(LambdaFunction.readColumn(func), express, value)); } protected FilterNode any(FilterNode node, boolean signor) { @@ -233,7 +205,6 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 if (this.column == null) { this.column = node.column; this.express = node.express; - this.itemand = node.itemand; this.value = node.value; return this; } @@ -246,13 +217,12 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 this.nodes = Utility.append(this.nodes, node); return this; } - FilterNode newnode = new FilterNode(this.column, this.express, this.itemand, this.value); + FilterNode newnode = new FilterNode(this.column, this.express, this.value); newnode.or = this.or; newnode.nodes = this.nodes; this.nodes = new FilterNode[]{newnode, node}; this.column = null; this.express = null; - this.itemand = true; this.or = signor; this.value = null; return this; @@ -388,11 +358,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public static FilterNode create(String column, FilterExpress express, Serializable value) { - return create(column, express, true, value); - } - - public static FilterNode create(String column, FilterExpress express, boolean itemand, Serializable value) { - return new FilterNode(column, express, itemand, value); + return new FilterNode(column, express, value); } public static FilterNode create(LambdaSupplier func) { @@ -400,11 +366,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public static FilterNode create(LambdaSupplier func, FilterExpress express) { - return create(func, express, true); - } - - public static FilterNode create(LambdaSupplier func, FilterExpress express, boolean itemand) { - return new FilterNode(LambdaSupplier.readColumn(func), express, itemand, func.get()); + return new FilterNode(LambdaSupplier.readColumn(func), express, func.get()); } public static FilterNode create(LambdaFunction func, Serializable value) { @@ -412,11 +374,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } public static FilterNode create(LambdaFunction func, FilterExpress express, Serializable value) { - return create(func, express, true, value); - } - - public static FilterNode create(LambdaFunction func, FilterExpress express, boolean itemand, Serializable value) { - return new FilterNode(LambdaFunction.readColumn(func), express, itemand, value); + return new FilterNode(LambdaFunction.readColumn(func), express, value); } @Deprecated(since = "2.8.0") @@ -426,12 +384,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 @Deprecated(since = "2.8.0") public static FilterNode filter(String column, FilterExpress express, Serializable value) { - return create(column, express, true, value); - } - - @Deprecated(since = "2.8.0") - public static FilterNode filter(String column, FilterExpress express, boolean itemand, Serializable value) { - return new FilterNode(column, express, itemand, value); + return new FilterNode(column, express, value); } private boolean needSplit(final Object val0) { @@ -486,7 +439,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 continue; } if (sb.length() > 2) { - sb.append(itemand ? " AND " : " OR "); + sb.append(" AND "); } sb.append(cs); } @@ -510,7 +463,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 continue; } if (sb.length() > 2) { - sb.append(itemand ? " AND " : " OR "); + sb.append(" AND "); } sb.append(cs); } @@ -656,18 +609,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } final Predicate one = filter; final Predicate two = f; - filter = (filter == null) ? f : (!itemand ? new Predicate() { - - @Override - public boolean test(T t) { - return one.test(t) || two.test(t); - } - - @Override - public String toString() { - return "(" + one + " OR " + two + ")"; - } - } : new Predicate() { + filter = (filter == null) ? f : new Predicate() { @Override public boolean test(T t) { @@ -678,7 +620,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 public String toString() { return "(" + one + " AND " + two + ")"; } - }); + }; } return filter; } else if (val0.getClass().isArray()) { @@ -753,18 +695,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 } final Predicate one = filter; final Predicate two = f; - filter = (filter == null) ? f : (!itemand ? new Predicate() { - - @Override - public boolean test(T t) { - return one.test(t) || two.test(t); - } - - @Override - public String toString() { - return "(" + one + " OR " + two + ")"; - } - } : new Predicate() { + filter = (filter == null) ? f : new Predicate() { @Override public boolean test(T t) { @@ -775,7 +706,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 public String toString() { return "(" + one + " AND " + two + ")"; } - }); + }; } return filter; } @@ -2125,7 +2056,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 continue; } if (sb.length() > 2) { - sb.append(itemand ? " AND " : " OR "); + sb.append(" AND "); } sb.append(cs); } @@ -2149,7 +2080,7 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 continue; } if (sb.length() > 2) { - sb.append(itemand ? " AND " : " OR "); + sb.append(" AND "); } sb.append(cs); } @@ -2307,14 +2238,6 @@ public class FilterNode { //FilterNode 不能实现Serializable接口, 否则 this.express = express; } - public final boolean isItemand() { - return itemand; - } - - public final void setItemand(boolean itemand) { - this.itemand = itemand; - } - public final FilterNode[] getNodes() { return nodes; } diff --git a/src/main/java/org/redkale/source/FilterNodeBean.java b/src/main/java/org/redkale/source/FilterNodeBean.java index 0bdb3955c..7f9309b16 100644 --- a/src/main/java/org/redkale/source/FilterNodeBean.java +++ b/src/main/java/org/redkale/source/FilterNodeBean.java @@ -34,8 +34,6 @@ public final class FilterNodeBean implements Comparable implements Comparable implements Comparable implements Comparable