1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.shadow.api.config;
19
20 import lombok.Getter;
21 import lombok.Setter;
22 import org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
23 import org.apache.shardingsphere.infra.config.rule.function.DistributedRuleConfiguration;
24 import org.apache.shardingsphere.infra.config.rule.scope.DatabaseRuleConfiguration;
25 import org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration;
26 import org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration;
27
28 import java.util.Collection;
29 import java.util.LinkedHashMap;
30 import java.util.LinkedList;
31 import java.util.Map;
32
33
34
35
36 @Getter
37 @Setter
38 public final class ShadowRuleConfiguration implements DatabaseRuleConfiguration, DistributedRuleConfiguration {
39
40 private Collection<ShadowDataSourceConfiguration> dataSources = new LinkedList<>();
41
42 private Map<String, ShadowTableConfiguration> tables = new LinkedHashMap<>();
43
44 private Map<String, AlgorithmConfiguration> shadowAlgorithms = new LinkedHashMap<>();
45
46 private String defaultShadowAlgorithmName;
47
48 @Override
49 public boolean isEmpty() {
50 return dataSources.isEmpty() || tables.isEmpty();
51 }
52 }