1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.dynamic.sql;
17
18 import java.util.Objects;
19
20 import org.jspecify.annotations.Nullable;
21
22 public class ExistsCriterion extends SqlCriterion {
23 private final ExistsPredicate existsPredicate;
24
25 private ExistsCriterion(Builder builder) {
26 super(builder);
27 this.existsPredicate = Objects.requireNonNull(builder.existsPredicate);
28 }
29
30 public ExistsPredicate existsPredicate() {
31 return existsPredicate;
32 }
33
34 @Override
35 public <R> R accept(SqlCriterionVisitor<R> visitor) {
36 return visitor.visit(this);
37 }
38
39 public static class Builder extends AbstractBuilder<Builder> {
40 private @Nullable ExistsPredicate existsPredicate;
41
42 public Builder withExistsPredicate(ExistsPredicate existsPredicate) {
43 this.existsPredicate = existsPredicate;
44 return this;
45 }
46
47 public ExistsCriterion build() {
48 return new ExistsCriterion(this);
49 }
50
51 @Override
52 protected Builder getThis() {
53 return this;
54 }
55 }
56 }