File tree Expand file tree Collapse file tree 2 files changed +8
-22
lines changed
src/main/java/org/mybatis/dynamic/sql Expand file tree Collapse file tree 2 files changed +8
-22
lines changed Original file line number Diff line number Diff line change 2828public class CriteriaGroup extends SqlCriterion {
2929 private final SqlCriterion initialCriterion ;
3030
31- private CriteriaGroup (Builder builder ) {
31+ protected CriteriaGroup (AbstractGroupBuilder <?> builder ) {
3232 super (builder );
3333 initialCriterion = Objects .requireNonNull (builder .initialCriterion );
3434 }
@@ -42,14 +42,16 @@ public <R> R accept(SqlCriterionVisitor<R> visitor) {
4242 return visitor .visit (this );
4343 }
4444
45- public static class Builder extends AbstractBuilder <Builder > {
45+ public abstract static class AbstractGroupBuilder < T extends AbstractGroupBuilder < T >> extends AbstractBuilder <T > {
4646 private SqlCriterion initialCriterion ;
4747
48- public Builder withInitialCriterion (SqlCriterion initialCriterion ) {
48+ public T withInitialCriterion (SqlCriterion initialCriterion ) {
4949 this .initialCriterion = initialCriterion ;
50- return this ;
50+ return getThis () ;
5151 }
52+ }
5253
54+ public static class Builder extends AbstractGroupBuilder <Builder > {
5355 public CriteriaGroup build () {
5456 return new CriteriaGroup (this );
5557 }
Original file line number Diff line number Diff line change 1515 */
1616package org .mybatis .dynamic .sql ;
1717
18- import java .util .Objects ;
19-
2018/**
2119 * This class represents a criteria group with a NOT.
2220 *
2321 * @author Jeff Butler
2422 * @since 1.4.0
2523 */
26- public class NotCriterion extends SqlCriterion {
27- private final SqlCriterion initialCriterion ;
28-
24+ public class NotCriterion extends CriteriaGroup {
2925 private NotCriterion (Builder builder ) {
3026 super (builder );
31- initialCriterion = Objects .requireNonNull (builder .initialCriterion );
32- }
33-
34- public SqlCriterion initialCriterion () {
35- return initialCriterion ;
3627 }
3728
3829 @ Override
3930 public <R > R accept (SqlCriterionVisitor <R > visitor ) {
4031 return visitor .visit (this );
4132 }
4233
43- public static class Builder extends AbstractBuilder <Builder > {
44- private SqlCriterion initialCriterion ;
45-
46- public Builder withInitialCriterion (SqlCriterion initialCriterion ) {
47- this .initialCriterion = initialCriterion ;
48- return this ;
49- }
50-
34+ public static class Builder extends AbstractGroupBuilder <Builder > {
5135 public NotCriterion build () {
5236 return new NotCriterion (this );
5337 }
You can’t perform that action at this time.
0 commit comments