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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package foundation.data.mapping;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import foundation.util.ContentBuilder;
 
public class MappingsRuntime {
      
    private List<FieldMappingRuntime> fieldMappingRuntimes;
    private Map<String, FieldMappingRuntime> fromMap;
    private Map<String, FieldMappingRuntime> toMap;
      
    
    public MappingsRuntime() {
        fieldMappingRuntimes = new ArrayList<FieldMappingRuntime>();
        fromMap = new HashMap<String, FieldMappingRuntime>();
        toMap = new HashMap<String, FieldMappingRuntime>();
    }
 
    public void addItem(FieldMappingRuntime fieldMappingRuntime) {
        String fromName = fieldMappingRuntime.getFromName();
        String toName = fieldMappingRuntime.getToName();
        
        if (fromName == null || toName == null) {
            return;
        }
        
        fromName = fromName.toLowerCase();
        toName = toName.toLowerCase();
        
        fieldMappingRuntimes.add(fieldMappingRuntime);
        fromMap.put(fromName, fieldMappingRuntime);
        toMap.put(toName, fieldMappingRuntime);
    }
    
    public int[] getFromIndex() {
        int[] result = new int[fieldMappingRuntimes.size()];
 
        for (int i = 0; i < result.length; i++) {
            FieldMappingRuntime fieldMappingRuntime = fieldMappingRuntimes.get(i);
            result[i] = fieldMappingRuntime.getFromIndex();
        }
        
        return result;
    }
 
    public List<FieldMappingRuntime> getMappingRuntimeList() {
        return fieldMappingRuntimes;
    }
 
    public boolean containsFromField(String fieldName) {
        if (fieldName == null) {
            return false;
        }
        
        fieldName = fieldName.toLowerCase();
        return fromMap.containsKey(fieldName);
    }
    
    public boolean containsToField(String fieldName) {
        if (fieldName == null) {
            return false;
        }
        
        fieldName = fieldName.toLowerCase();
        return toMap.containsKey(fieldName);
    }
 
    public int size() {
        return fieldMappingRuntimes.size();
    }
    
    public String getFromFieldNames(String division) {
        ContentBuilder result = new ContentBuilder(division);
        
        for (FieldMappingRuntime fieldMappingRuntime: fieldMappingRuntimes) {
            String fromName = fieldMappingRuntime.getFromName();
            result.append(fromName);
        }
        
        return result.toString();
    }
    
    public String getToFieldNames(String division, String... additional) {
        ContentBuilder result = new ContentBuilder(division);
        
        for (FieldMappingRuntime fieldMappingRuntime: fieldMappingRuntimes) {
            String toName = fieldMappingRuntime.getToName();
            result.append(toName);
        }
        
        if (additional != null) {
            for (String fieldName: additional) {
                result.append(fieldName);
            }
        }
        
        return result.toString();
    }
 
}