1 package fr.ifremer.tutti.service.genericformat.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
26
27 import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode;
28 import fr.ifremer.tutti.persistence.entities.data.Attachment;
29 import fr.ifremer.tutti.service.csv.AbstractTuttiImportExportModel;
30 import fr.ifremer.tutti.service.csv.TuttiCsvUtil;
31 import fr.ifremer.tutti.service.genericformat.GenericFormatImportEntityParserFactory;
32
33
34
35
36
37
38
39 public class AttachmentModel extends AbstractTuttiImportExportModel<AttachmentRow> {
40
41 public static AttachmentModel forExport(char separator) {
42
43 AttachmentModel exportModel = new AttachmentModel(separator);
44 exportModel.forExport();
45 return exportModel;
46
47 }
48
49 public static AttachmentModel forImport(char separator, GenericFormatImportEntityParserFactory parserFactory) {
50
51 AttachmentModel importModel = new AttachmentModel(separator);
52 importModel.forImport(parserFactory);
53 return importModel;
54
55 }
56
57 @Override
58 public AttachmentRow newEmptyInstance() {
59
60 return AttachmentRow.newEmptyInstance();
61
62 }
63
64 protected AttachmentModel(char separator) {
65 super(separator);
66 }
67
68 protected void forExport() {
69
70 newColumnForExport("Object_Id", Attachment.PROPERTY_OBJECT_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
71 newColumnForExport("Object_Type", Attachment.PROPERTY_OBJECT_TYPE, TuttiCsvUtil.newEnumByNameParserFormatter(ObjectTypeCode.class));
72 newColumnForExport("Name", Attachment.PROPERTY_NAME);
73 newColumnForExport("Comment", Attachment.PROPERTY_COMMENT);
74 newColumnForExport("Path", Attachment.PROPERTY_PATH);
75
76 }
77
78 protected void forImport(GenericFormatImportEntityParserFactory parserFactory) {
79
80 newMandatoryColumn("Object_Id", Attachment.PROPERTY_OBJECT_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
81 newMandatoryColumn("Object_Type", Attachment.PROPERTY_OBJECT_TYPE, TuttiCsvUtil.newEnumByNameParserFormatter(ObjectTypeCode.class));
82 newMandatoryColumn("Name", Attachment.PROPERTY_NAME);
83 newMandatoryColumn("Comment", Attachment.PROPERTY_COMMENT);
84 newMandatoryColumn("Path", Attachment.PROPERTY_PATH);
85
86 }
87
88 }