P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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;
    }
 
}