1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.encrypt.rule.column;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import lombok.Setter;
23 import org.apache.shardingsphere.encrypt.rule.column.item.AssistedQueryColumnItem;
24 import org.apache.shardingsphere.encrypt.rule.column.item.CipherColumnItem;
25 import org.apache.shardingsphere.encrypt.rule.column.item.LikeQueryColumnItem;
26 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
27
28 import java.util.Optional;
29
30
31
32
33 @RequiredArgsConstructor
34 @Getter
35 @Setter
36 public final class EncryptColumn {
37
38 private final String name;
39
40 private final CipherColumnItem cipher;
41
42 private AssistedQueryColumnItem assistedQuery;
43
44 private LikeQueryColumnItem likeQuery;
45
46
47
48
49
50
51 public Optional<AssistedQueryColumnItem> getAssistedQuery() {
52 return Optional.ofNullable(assistedQuery);
53 }
54
55
56
57
58
59
60 public Optional<LikeQueryColumnItem> getLikeQuery() {
61 return Optional.ofNullable(likeQuery);
62 }
63
64
65
66
67
68
69 public EncryptAlgorithm getQueryEncryptor() {
70 return null == assistedQuery ? cipher.getEncryptor() : assistedQuery.getEncryptor();
71 }
72 }