1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.constraint;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import lombok.Setter;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.AlterDefinitionSegment;
24 import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.CreateDefinitionSegment;
25 import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
26 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.ColumnSegment;
27 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.SimpleTableSegment;
28
29 import java.util.Collection;
30 import java.util.LinkedList;
31 import java.util.Optional;
32
33
34
35
36 @RequiredArgsConstructor
37 @Getter
38 @Setter
39 public final class ConstraintDefinitionSegment implements CreateDefinitionSegment, AlterDefinitionSegment {
40
41 private final int startIndex;
42
43 private final int stopIndex;
44
45 private final Collection<ColumnSegment> primaryKeyColumns = new LinkedList<>();
46
47 private final Collection<ColumnSegment> indexColumns = new LinkedList<>();
48
49 private ConstraintSegment constraintName;
50
51 private IndexSegment indexName;
52
53 private SimpleTableSegment referencedTable;
54
55 private boolean uniqueKey;
56
57 private boolean primaryKey;
58
59
60
61
62
63
64 public Optional<ConstraintSegment> getConstraintName() {
65 return Optional.ofNullable(constraintName);
66 }
67
68
69
70
71
72
73 public Optional<IndexSegment> getIndexName() {
74 return Optional.ofNullable(indexName);
75 }
76
77
78
79
80
81
82 public Optional<SimpleTableSegment> getReferencedTable() {
83 return Optional.ofNullable(referencedTable);
84 }
85 }