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();
|
}
|
}
|