package com.aggrepoint.winlet.plugin; import java.util.HashMap; import java.util.List; import java.util.Map; import com.aggrepoint.winlet.CodeValue; import com.aggrepoint.winlet.ListProvider; public class DefaultListProvider implements ListProvider { private HashMap<String, ListUnit<?>> lists; protected void initLists(HashMap<String, ListUnit<?>> lists) { } protected ListUnit<?> getListUnit(String type) { if (lists == null) { HashMap<String, ListUnit<?>> ls = new HashMap<String, ListUnit<?>>(); initLists(ls); lists = ls; } return lists.get(type); } @Override public Map<String, ?> getMap(String type) { ListUnit<?> unit = getListUnit(type); if (unit == null) return null; return unit.getMap(); } @Override public Map<String, String> getCodeValueMap(String type) { ListUnit<?> unit = getListUnit(type); if (unit == null) return null; return unit.getCodeValueMap(); } @Override public List<?> getList(String type) { ListUnit<?> unit = getListUnit(type); if (unit == null) return null; return unit.getList(); } @Override public List<CodeValue> getCodeValueList(String type) { ListUnit<?> unit = getListUnit(type); if (unit == null) return null; return unit.getCodeValueList(); } }