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 org.mybatis.dynamic.sql.util.Buildable;
19
20 public class HavingDSL implements AbstractHavingStarter<HavingDSL.StandaloneHavingFinisher> {
21 private final StandaloneHavingFinisher havingFinisher = new StandaloneHavingFinisher();
22
23 @Override
24 public StandaloneHavingFinisher having() {
25 return havingFinisher;
26 }
27
28 public static class StandaloneHavingFinisher extends AbstractHavingFinisher<StandaloneHavingFinisher>
29 implements Buildable<HavingModel> {
30
31 private StandaloneHavingFinisher() {}
32
33 @Override
34 protected StandaloneHavingFinisher getThis() {
35 return this;
36 }
37
38 @Override
39 public HavingModel build() {
40 return buildModel();
41 }
42
43 public HavingApplier toHavingApplier() {
44 return d -> d.initialize(getInitialCriterion(), subCriteria);
45 }
46 }
47 }