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.SqlCriterion;
23 import org.mybatis.dynamic.sql.select.HavingApplier;
24
25 public class HavingDSL implements BooleanOperations<HavingDSL> {
26 private final SqlCriterion initialCriterion;
27 private final List<AndOrCriteriaGroup> subCriteria = new ArrayList<>();
28
29 public HavingDSL(SqlCriterion initialCriterion, List<AndOrCriteriaGroup> subCriteria) {
30 this.initialCriterion = initialCriterion;
31 this.subCriteria.addAll(subCriteria);
32 }
33
34 @Override
35 public HavingDSL addSubCriterion(AndOrCriteriaGroup subCriterion) {
36 subCriteria.add(subCriterion);
37 return this;
38 }
39
40 public HavingApplier toHavingApplier() {
41 return new HavingApplier(initialCriterion, subCriteria);
42 }
43 }