P15GEN2\59518
2025-10-10 9f6890646993d16260d4201d613c092132856127
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package foundation.dao;
 
import java.util.Set;
 
import foundation.util.MapList;
 
public class HostLimit {
 
    private MapList<String, ItemLimits> allLimitsList;
    private MapList<String, ItemLimits> writableLimitsList;
    
    public HostLimit() {
        allLimitsList = new MapList<String, ItemLimits>();
        writableLimitsList = new MapList<String, ItemLimits>();
    }
    
    public void loadOneItemLimit(ItemLimit itemLimit) {
        String typeCode = itemLimit.getTypeCode();
        typeCode = typeCode.toLowerCase();
        
        //1. add to all
        ItemLimits limits = allLimitsList.get(typeCode);
        
        if (limits == null) {
            limits = new ItemLimits();
            allLimitsList.add(typeCode, limits);
        }
 
        limits.loadOne(itemLimit);
        
        //2. add to writable
        if (itemLimit.isReadOnly()) {
            return;
        }
        
        limits = writableLimitsList.get(typeCode);
        
        if (limits == null) {
            limits = new ItemLimits();
            writableLimitsList.add(typeCode, limits);
        }
 
        limits.loadOne(itemLimit);
    }
 
    public Set<String> itemLimits(String typeCode, boolean includeReadOnly) {
        ItemLimits result = null;
        
        if (includeReadOnly) {
            result = allLimitsList.get(typeCode);
        }
        else {
            result = writableLimitsList.get(typeCode);
        }
        
        if (result == null) {
            return null;
        }
        
        return result.getList();
    }
 
}