package foundation.server; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class InitializerContainer implements Iterable{ private static InitializerContainer instance; private List itemList; public synchronized static InitializerContainer getInstance() { if (instance == null) { instance = new InitializerContainer(); } return instance; } public InitializerContainer() { itemList = new ArrayList(); } @Override public Iterator iterator() { return itemList.iterator(); } public void add(Initializer configLoader) { itemList.add(configLoader); } public Initializer get(Class clazz) { for (Initializer loader: itemList) { if (loader.getClass().isAssignableFrom(clazz)) { return loader; } } return null; } }