shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.walker.store;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import java.util.List;
 
/**
 * 抽象的存储对象定义,用于在不同数据源中写入数据。
 * @author shikeying
 * @date 2015年12月16日
 *
 */
public class AbstractStore implements Storeable {
 
    protected transient final Logger logger = LoggerFactory.getLogger(this.getClass());
    
    private String id;
    private String description;
    protected StoreStrategy storeStrategy = null;
    
    private MetaDataEngine metaDataEngine = null;
    
    @Override
    public MetaDataEngine getMetaDataEngine() {
        return metaDataEngine;
    }
 
    @Override
    public void setMetaDataEngine(MetaDataEngine metaDataEngine) {
        this.metaDataEngine = metaDataEngine;
    }
 
    @Override
    public void initialize() {
        if(this.storeStrategy == null){
            throw new IllegalStateException("未配置存储策略,无法创建对象:" + this.getClass().getName());
        }
    }
 
    @Override
    public void destroy() {
        if(storeStrategy != null){
            storeStrategy = null;
        }
    }
 
    public void setId(String id) {
        this.id = id;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
 
    @Override
    public String getId() {
        return this.id;
    }
 
    @Override
    public String getDescription() {
        return this.description;
    }
 
    @Override
    public StoreStrategy getStoreStrategy() {
        return storeStrategy;
    }
 
    @Override
    public void write(String srcName, String createTableSQL, Object parameter, List<Object> datas) throws Exception {
 
    }
 
    @Override
    public void setStoreStrategy(StoreStrategy storeStrategy) {
        this.storeStrategy = storeStrategy;
    }
 
    @Override
    public String toString(){
        return new StringBuilder().append("[id=").append(id)
                .append(", description=").append(description)
                .append("]").toString();
    }
}