Projekt

Obecné

Profil

Stáhnout (4.57 KB) Statistiky
| Větev: | Revize:
1
package data;
2

    
3
import java.util.ArrayList;
4

    
5
/**
6
 *
7
 * Třída JDFSpojeRecord obsahuje jeden záznam načtených dat z Linky.txt
8
 * -issue #7315
9
 *
10
 * @author Daniel Stus, Marek Sobota, Lukas Scurko, Jan Jirman
11
 * @version 1.0
12
 */
13

    
14
public class JDFSpojeRecord implements IProcessable {
15

    
16
    //-------------- Konstanty -------------//
17

    
18
    /** konstanta indexu: numberLine */
19
    private final int numberLineIndex = 0;
20
    /** konstanta indexu: numberJoin */
21
    private final int numberJoinIndex = 1;
22
    /** konstanta indexu: hardCode1 */
23
    private final int hardCodeIndex1 = 2;
24
    /** konstanta indexu: hardCode2 */
25
    private final int hardCodeIndex2 = 3;
26
    /** konstanta indexu: hardCode3 */
27
    private final int hardCodeIndex3 = 4;
28
    /** konstanta indexu: hardCode4 */
29
    private final int hardCodeIndex4 = 5;
30
    /** konstanta indexu: hardCode5 */
31
    private final int hardCodeIndex5 = 6;
32
    /** konstanta indexu: hardCode6 */
33
    private final int hardCodeIndex6 = 7;
34
    /** konstanta indexu: hardCode7 */
35
    private final int hardCodeIndex7 = 8;
36
    /** konstanta indexu: hardCode8 */
37
    private final int hardCodeIndex8 = 9;
38
    /** konstanta indexu: hardCode9 */
39
    private final int hardCodeIndex9 = 10;
40
    /** konstanta indexu: hardCode10 */
41
    private final int hardCodeIndex10 = 11;
42
    /** konstanta indexu: numberLineVersion */
43
    private final int numberLineVersionIndex = 13;
44

    
45

    
46
    //-------------- Atributy --------------/
47

    
48
    private String numberLine;
49
    private String numberJoin;
50
    private ArrayList<String> hardCodes = new ArrayList<>();
51
    private String numberLineVersion;
52

    
53
    //------------ Konstruktor -------------/
54

    
55
    /**
56
     * Konstruktor JDFPevnykodRecord, který vytvoří jeden záznam z pevnychkodu v JDF
57
     * @param dataRecord jeden záznam načtených dat
58
     */
59
    public JDFSpojeRecord(String[] dataRecord){
60
        proccesData(dataRecord);
61
    }
62

    
63
    //------------- Metody -------------------/
64

    
65
    /**
66
     * Metoda vrátí cislo linky
67
     * @return cislo linky
68
     */
69
    public String getNumberLine() {
70
        return numberLine;
71
    }
72

    
73
    /**
74
     * Metoda vrátí cislo spoje
75
     * @return cislo spoje
76
     */
77
    public String getNumberJoin() {
78
        return numberJoin;
79
    }
80

    
81
    /**
82
     * Metoda vrátí cislo pevneho kodu ze seznamu
83
     *
84
     * @param hardCodeNumber cislo indexu pevneho kodu
85
     * @return cislo pevneho kodu
86
     */
87
    public String getHardCode(int hardCodeNumber) {
88
        return hardCodes.get(hardCodeNumber);
89
    }
90

    
91
    /**
92
     * Metoda vrátí vsechny pevne kody
93
     * @return list cisel s pevnymi kody
94
     */
95
    public ArrayList<String> getHardCodes() {
96
        return hardCodes;
97
    }
98

    
99
    public String hardCodesToString(ArrayList<JDFPevnykodRecord> hardCodeIndex) {
100
        String result = "";
101
        for (int i = 0; i < hardCodes.size(); i++) {
102
            for (int j = 0; j < hardCodeIndex.size() ; j++) {
103
                if (hardCodeIndex.get(j).getId() == Integer.parseInt(hardCodes.get(i))) {
104
                    result += hardCodeIndex.get(j).getValue();
105
                }
106
            }
107
        }
108
        return result;
109
    }
110

    
111
    /**
112
     * Metoda vrátí cislo verze linky
113
     * @return cislo verze linky
114
     */
115
    public String getNumberLineVersion() {
116
        return numberLineVersion;
117
    }
118

    
119

    
120
    /**
121
     * V metodě se přečte jeden záznam dat a rozřadí do určitých atributů - atributy bude možné dále využívat
122
     * -issue #7319
123
     * @param dataRecord jeden záznam načtených dat
124
     */
125
    @Override
126
    public void proccesData(String[] dataRecord) {
127
        for(int index = 0;index<=dataRecord.length;index++){
128
            switch(index){
129
                case numberLineIndex:
130
                    this.numberLine = dataRecord[index];
131
                    break;
132
                case numberJoinIndex:
133
                    this.numberJoin = dataRecord[index];
134
                    break;
135
                case hardCodeIndex1:
136
                case hardCodeIndex2:
137
                case hardCodeIndex3:
138
                case hardCodeIndex4:
139
                case hardCodeIndex5:
140
                case hardCodeIndex6:
141
                case hardCodeIndex7:
142
                case hardCodeIndex8:
143
                case hardCodeIndex9:
144
                case hardCodeIndex10:
145
                    if(!dataRecord[index].equals("") && Integer.parseInt(dataRecord[index])>0 && Integer.parseInt(dataRecord[index])<10) hardCodes.add(dataRecord[index]);
146
                    break;
147
                case numberLineVersionIndex:
148
                    this.numberLineVersion = dataRecord[index];
149
                    break;
150
            }
151
        }
152
    }
153
}
(8-8/8)