View Javadoc
1   package fr.ifremer.tutti.service.pupitri.csv;
2   
3   /*
4    * #%L
5    * Tutti :: Service
6    * %%
7    * Copyright (C) 2012 - 2014 Ifremer
8    * %%
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU General Public License as
11   * published by the Free Software Foundation, either version 3 of the 
12   * License, or (at your option) any later version.
13   * 
14   * This program is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   * GNU General Public License for more details.
18   * 
19   * You should have received a copy of the GNU General Public 
20   * License along with this program.  If not, see
21   * <http://www.gnu.org/licenses/gpl-3.0.html>.
22   * #L%
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   * @author Kevin Morin - kmorin@codelutin.com
32   * @since 1.2
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  }