package foundation.state.approve;
|
|
import foundation.dao.preload.Bucket;
|
import foundation.state.StateMachineLoader;
|
|
public class ApproveTemplateBucket extends Bucket<ApproveTemplate> {
|
|
private static ApproveTemplateBucket instance;
|
|
private ApproveTemplateBucket() {
|
|
}
|
|
public static synchronized ApproveTemplateBucket getInstance() {
|
if (instance == null) {
|
instance = new ApproveTemplateBucket();
|
}
|
|
return instance;
|
}
|
|
public ApproveTemplate getOrLoad(String templateId) throws Exception {
|
ApproveTemplate result = get(templateId);
|
|
if (result != null) {
|
return result;
|
}
|
|
synchronized (this) {
|
result = get(templateId);
|
|
if (result != null) {
|
return result;
|
}
|
|
result = StateMachineLoader.loadOneApproveTemplate(templateId);
|
|
if (result != null) {
|
loadOne(templateId, result);
|
}
|
}
|
|
return result;
|
}
|
|
}
|