1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.dynamic.sql.dsl;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import org.mybatis.dynamic.sql.AndOrCriteriaGroup;
22 import org.mybatis.dynamic.sql.NullCriterion;
23 import org.mybatis.dynamic.sql.SqlCriterion;
24 import org.mybatis.dynamic.sql.where.WhereApplier;
25
26 public class WhereDSL implements BooleanOperations<WhereDSL> {
27 private final SqlCriterion initialCriterion;
28 private final List<AndOrCriteriaGroup> subCriteria = new ArrayList<>();
29
30 public WhereDSL() {
31 initialCriterion = new NullCriterion();
32 }
33
34 public WhereDSL(SqlCriterion initialCriterion, List<AndOrCriteriaGroup> subCriteria) {
35 this.initialCriterion = initialCriterion;
36 this.subCriteria.addAll(subCriteria);
37 }
38
39 @Override
40 public WhereDSL addSubCriterion(AndOrCriteriaGroup subCriterion) {
41 subCriteria.add(subCriterion);
42 return this;
43 }
44
45 public WhereApplier toWhereApplier() {
46 return new WhereApplier(initialCriterion, subCriteria);
47 }
48 }