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
|
}
|