Skip to content

Commit b6adddf

Browse files
committed
[core] Refactor LeafFunction fromJson and toJson
1 parent 6d47aa4 commit b6adddf

22 files changed

+172
-109
lines changed

paimon-common/src/main/java/org/apache/paimon/predicate/Between.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,9 @@ public Optional<LeafFunction> negate() {
6767
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
6868
return visitor.visitBetween(fieldRef, literals.get(0), literals.get(1));
6969
}
70+
71+
@Override
72+
public String toJson() {
73+
return NAME;
74+
}
7075
}

paimon-common/src/main/java/org/apache/paimon/predicate/Contains.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
import java.util.List;
2727
import java.util.Optional;
2828

29-
/** A {@link NullFalseLeafBinaryFunction} to evaluate {@code filter like '%abc%'}. */
30-
public class Contains extends NullFalseLeafBinaryFunction {
29+
/** A {@link LeafBinaryFunction} to evaluate {@code filter like '%abc%'}. */
30+
public class Contains extends LeafBinaryFunction {
3131

3232
public static final String NAME = "CONTAINS";
3333

@@ -62,4 +62,9 @@ public Optional<LeafFunction> negate() {
6262
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
6363
return visitor.visitContains(fieldRef, literals.get(0));
6464
}
65+
66+
@Override
67+
public String toJson() {
68+
return NAME;
69+
}
6570
}

paimon-common/src/main/java/org/apache/paimon/predicate/EndsWith.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,8 @@
2626
import java.util.List;
2727
import java.util.Optional;
2828

29-
/**
30-
* A {@link NullFalseLeafBinaryFunction} to evaluate {@code filter like '%abc' or filter like
31-
* '_abc'}.
32-
*/
33-
public class EndsWith extends NullFalseLeafBinaryFunction {
29+
/** A {@link LeafBinaryFunction} to evaluate {@code filter like '%abc' or filter like '_abc'}. */
30+
public class EndsWith extends LeafBinaryFunction {
3431

3532
public static final String NAME = "ENDS_WITH";
3633

@@ -65,4 +62,9 @@ public Optional<LeafFunction> negate() {
6562
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
6663
return visitor.visitEndsWith(fieldRef, literals.get(0));
6764
}
65+
66+
@Override
67+
public String toJson() {
68+
return NAME;
69+
}
6870
}

paimon-common/src/main/java/org/apache/paimon/predicate/Equal.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727

2828
import static org.apache.paimon.predicate.CompareUtils.compareLiteral;
2929

30-
/** A {@link NullFalseLeafBinaryFunction} to eval equal. */
31-
public class Equal extends NullFalseLeafBinaryFunction {
30+
/** A {@link LeafBinaryFunction} to eval equal. */
31+
public class Equal extends LeafBinaryFunction {
3232

3333
public static final String NAME = "EQUAL";
3434

@@ -57,4 +57,9 @@ public Optional<LeafFunction> negate() {
5757
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
5858
return visitor.visitEqual(fieldRef, literals.get(0));
5959
}
60+
61+
@Override
62+
public String toJson() {
63+
return NAME;
64+
}
6065
}

paimon-common/src/main/java/org/apache/paimon/predicate/GreaterOrEqual.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727

2828
import static org.apache.paimon.predicate.CompareUtils.compareLiteral;
2929

30-
/** A {@link NullFalseLeafBinaryFunction} to eval greater or equal. */
31-
public class GreaterOrEqual extends NullFalseLeafBinaryFunction {
30+
/** A {@link LeafBinaryFunction} to eval greater or equal. */
31+
public class GreaterOrEqual extends LeafBinaryFunction {
3232

3333
public static final String NAME = "GREATER_OR_EQUAL";
3434

@@ -57,4 +57,9 @@ public Optional<LeafFunction> negate() {
5757
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
5858
return visitor.visitGreaterOrEqual(fieldRef, literals.get(0));
5959
}
60+
61+
@Override
62+
public String toJson() {
63+
return NAME;
64+
}
6065
}

paimon-common/src/main/java/org/apache/paimon/predicate/GreaterThan.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import static org.apache.paimon.predicate.CompareUtils.compareLiteral;
2929

3030
/** A {@link LeafFunction} to eval greater. */
31-
public class GreaterThan extends NullFalseLeafBinaryFunction {
31+
public class GreaterThan extends LeafBinaryFunction {
3232

3333
public static final String NAME = "GREATER_THAN";
3434

@@ -57,4 +57,9 @@ public Optional<LeafFunction> negate() {
5757
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
5858
return visitor.visitGreaterThan(fieldRef, literals.get(0));
5959
}
60+
61+
@Override
62+
public String toJson() {
63+
return NAME;
64+
}
6065
}

paimon-common/src/main/java/org/apache/paimon/predicate/In.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import static org.apache.paimon.predicate.CompareUtils.compareLiteral;
2929

3030
/** A {@link LeafFunction} to eval in. */
31-
public class In extends LeafFunction {
31+
public class In extends LeafNAryFunction {
3232

3333
private static final long serialVersionUID = 1L;
3434

@@ -82,4 +82,9 @@ public Optional<LeafFunction> negate() {
8282
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
8383
return visitor.visitIn(fieldRef, literals);
8484
}
85+
86+
@Override
87+
public String toJson() {
88+
return NAME;
89+
}
8590
}

paimon-common/src/main/java/org/apache/paimon/predicate/IsNotNull.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import java.util.List;
2626
import java.util.Optional;
2727

28-
/** A {@link NullFalseLeafBinaryFunction} to eval is not null. */
28+
/** A {@link LeafBinaryFunction} to eval is not null. */
2929
public class IsNotNull extends LeafUnaryFunction {
3030

3131
public static final String NAME = "IS_NOT_NULL";
@@ -45,6 +45,11 @@ public boolean test(DataType type, long rowCount, Object min, Object max, Long n
4545
return nullCount == null || nullCount < rowCount;
4646
}
4747

48+
@Override
49+
public String toJson() {
50+
return NAME;
51+
}
52+
4853
@Override
4954
public Optional<LeafFunction> negate() {
5055
return Optional.of(IsNull.INSTANCE);

paimon-common/src/main/java/org/apache/paimon/predicate/IsNull.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import java.util.List;
2626
import java.util.Optional;
2727

28-
/** A {@link NullFalseLeafBinaryFunction} to eval is null. */
28+
/** A {@link LeafBinaryFunction} to eval is null. */
2929
public class IsNull extends LeafUnaryFunction {
3030

3131
public static final String NAME = "IS_NULL";
@@ -54,4 +54,9 @@ public Optional<LeafFunction> negate() {
5454
public <T> T visit(FunctionVisitor<T> visitor, FieldRef fieldRef, List<Object> literals) {
5555
return visitor.visitIsNull(fieldRef);
5656
}
57+
58+
@Override
59+
public String toJson() {
60+
return NAME;
61+
}
5762
}

paimon-common/src/main/java/org/apache/paimon/predicate/NullFalseLeafBinaryFunction.java renamed to paimon-common/src/main/java/org/apache/paimon/predicate/LeafBinaryFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.util.List;
2424

2525
/** Function to test a field with a literal. */
26-
public abstract class NullFalseLeafBinaryFunction extends LeafFunction {
26+
public abstract class LeafBinaryFunction extends LeafFunction {
2727

2828
private static final long serialVersionUID = 1L;
2929

0 commit comments

Comments
 (0)