package frame.file; import java.util.ArrayList; import java.util.List; import frame.expression.GlobalVariant; import frame.expression.IVariantRequestListener; import frame.expression.VariantExistsException; import frame.expression.VariantRequestParams; public class ActivePeriod implements IVariantRequestListener { private static ActivePeriod instance; private static Object lock = new Object(); private String id; private int year; private int month; private List paramNames; private ActivePeriod() { paramNames = new ArrayList(); } public static ActivePeriod getInstance() { if (instance == null) { synchronized (lock) { if (instance == null) { instance = new ActivePeriod(); } } } return instance; } public void init(String id, int year, int month) throws VariantExistsException { ActivePeriod period = getInstance(); period.id = id; period.year = year; period.month = month; paramNames.add("year"); paramNames.add("month"); paramNames.add("year+1"); GlobalVariant.regist(period); } @Override public List getVariantNames() { return paramNames; } public String getStringValue(String name) { if ("year".equals(name)) { return String.valueOf(year); } else if ("year+1".equals(name)) { return String.valueOf(year + 1); } else if ("month".equals(name)) { return String.valueOf(month); } return null; } public String getId() { return id; } public int getYear() { return year; } public int getMonth() { return month; } //TODO params @Override public String getStringValue(String name, VariantRequestParams params) throws Exception { // TODO Auto-generated method stub return null; } }