package foundation.server;
|
|
import java.util.ArrayList;
|
import java.util.Iterator;
|
import java.util.List;
|
|
public class InitializerContainer implements Iterable<Initializer>{
|
|
private static InitializerContainer instance;
|
private List<Initializer> itemList;
|
|
|
public synchronized static InitializerContainer getInstance() {
|
if (instance == null) {
|
instance = new InitializerContainer();
|
}
|
|
return instance;
|
}
|
|
public InitializerContainer() {
|
itemList = new ArrayList<Initializer>();
|
}
|
|
@Override
|
public Iterator<Initializer> 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;
|
}
|
|
}
|