1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.dynamic.sql.select;
17
18 import java.util.List;
19
20 import org.jspecify.annotations.Nullable;
21 import org.mybatis.dynamic.sql.AndOrCriteriaGroup;
22 import org.mybatis.dynamic.sql.SqlCriterion;
23 import org.mybatis.dynamic.sql.common.AbstractBooleanExpressionDSL;
24
25 public abstract class AbstractHavingFinisher<T extends AbstractHavingFinisher<T>>
26 extends AbstractBooleanExpressionDSL<T> {
27 void initialize(SqlCriterion sqlCriterion) {
28 setInitialCriterion(sqlCriterion, StatementType.HAVING);
29 }
30
31 void initialize(@Nullable SqlCriterion sqlCriterion, List<AndOrCriteriaGroup> subCriteria) {
32 setInitialCriterion(sqlCriterion, StatementType.HAVING);
33 super.subCriteria.addAll(subCriteria);
34 }
35
36 protected HavingModel buildModel() {
37 return new HavingModel.Builder()
38 .withInitialCriterion(getInitialCriterion())
39 .withSubCriteria(subCriteria)
40 .build();
41 }
42 }