1 package fr.ifremer.tutti.service.pupitri.csv;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.service.csv.TuttiCsvUtil;
26 import fr.ifremer.tutti.service.csv.ImportModelWithHeader;
27 import fr.ifremer.tutti.service.pupitri.Directions;
28 import org.nuiton.csv.Common;
29
30
31
32
33
34 public class TrunkRowModel extends ImportModelWithHeader<TrunkRow> {
35
36 public TrunkRowModel(char separator) {
37 super(separator);
38
39 newMandatoryColumn(TrunkRow.PROPERTY_OPERATION_CODE);
40 newMandatoryColumn(TrunkRow.PROPERTY_DATE, new Common.DateValue("dd/MM/yy"));
41 newMandatoryColumn(TrunkRow.PROPERTY_DIRECTION,
42 TuttiCsvUtil.newEnumByNameParserFormatter(Directions.class));
43 newMandatoryColumn(TrunkRow.PROPERTY_WEIGHT,
44 TuttiCsvUtil.WEIGHT_PARSER_FORMATTER);
45
46 newIgnoredColumn(TrunkRow.PROPERTY_SIGN);
47 newIgnoredColumn(TrunkRow.PROPERTY_FILE_ORIGIN);
48 newIgnoredColumn(TrunkRow.PROPERTY_RIG_NUMBER);
49 newIgnoredColumn(TrunkRow.PROPERTY_TIME);
50 newIgnoredColumn(TrunkRow.PROPERTY_BALANCE_ID);
51 }
52
53 @Override
54 public String[] getHeader() {
55 return new String[]{
56 TrunkRow.PROPERTY_FILE_ORIGIN,
57 TrunkRow.PROPERTY_DATE,
58 TrunkRow.PROPERTY_TIME,
59 TrunkRow.PROPERTY_BALANCE_ID,
60 TrunkRow.PROPERTY_SIGN,
61 TrunkRow.PROPERTY_OPERATION_CODE,
62 TrunkRow.PROPERTY_RIG_NUMBER,
63 TrunkRow.PROPERTY_DIRECTION,
64 TrunkRow.PROPERTY_WEIGHT
65 };
66 }
67
68 @Override
69 public TrunkRow newEmptyInstance() {
70 return new TrunkRow();
71 }
72 }