View Javadoc
1   package fr.ifremer.tutti.service.genericformat.csv;
2   
3   /*
4    * #%L
5    * Tutti :: Service
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2012 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU General Public License as
13   * published by the Free Software Foundation, either version 3 of the
14   * License, or (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU General Public
22   * License along with this program.  If not, see
23   * <http://www.gnu.org/licenses/gpl-3.0.html>.
24   * #L%
25   */
26  
27  import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry;
28  import fr.ifremer.tutti.service.csv.AbstractTuttiImportExportModel;
29  import fr.ifremer.tutti.service.csv.TuttiCsvUtil;
30  import fr.ifremer.tutti.service.genericformat.GenericFormatImportEntityParserFactory;
31  
32  /**
33   * Created on 2/8/15.
34   *
35   * @author Tony Chemit - chemit@codelutin.com
36   * @since 3.13
37   */
38  public class SampleCategoryModel extends AbstractTuttiImportExportModel<SampleCategoryRow> {
39  
40      public static SampleCategoryModel forExport(char separator) {
41  
42          SampleCategoryModel exportModel = new SampleCategoryModel(separator);
43          exportModel.forExport();
44          return exportModel;
45  
46      }
47  
48      public static SampleCategoryModel forImport(char separator, GenericFormatImportEntityParserFactory parserFactory) {
49  
50          SampleCategoryModel importModel = new SampleCategoryModel(separator);
51          importModel.forImport(parserFactory);
52          return importModel;
53  
54      }
55  
56      @Override
57      public SampleCategoryRow newEmptyInstance() {
58  
59          SampleCategoryRow row = new SampleCategoryRow();
60          row.setSampleCategoryModelEntry(new SampleCategoryModelEntry());
61          return row;
62  
63      }
64  
65      protected SampleCategoryModel(char separator) {
66          super(separator);
67      }
68  
69      protected void forExport() {
70  
71          newColumnForExport(SampleCategoryRow.PROPERTY_CODE);
72          newColumnForExport(SampleCategoryRow.PROPERTY_ORDER, TuttiCsvUtil.INTEGER);
73          newColumnForExport(SampleCategoryRow.PROPERTY_CARACTERISTIC, TuttiCsvUtil.CARACTERISTIC_TECHNICAL_FORMATTER);
74  
75      }
76  
77      protected void forImport(GenericFormatImportEntityParserFactory parserFactory) {
78  
79          newMandatoryColumn(SampleCategoryRow.PROPERTY_CODE);
80          newMandatoryColumn(SampleCategoryRow.PROPERTY_ORDER, TuttiCsvUtil.INTEGER);
81          newMandatoryColumn(SampleCategoryRow.PROPERTY_CARACTERISTIC, parserFactory.getCaracteristicForSampleCategoryParser());
82  
83      }
84  
85  }