cleanup
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / coldp / ColDpExportConfigurator.java
1 /**
2 * Copyright (C) 2017 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.cdm.io.coldp;
10
11 import java.io.File;
12 import java.util.Comparator;
13
14 import eu.etaxonomy.cdm.database.ICdmDataSource;
15 import eu.etaxonomy.cdm.io.common.CsvIOConfigurator;
16 import eu.etaxonomy.cdm.io.common.ExportResultType;
17 import eu.etaxonomy.cdm.io.common.mapping.out.IExportTransformer;
18 import eu.etaxonomy.cdm.io.out.TaxonTreeExportConfiguratorBase;
19 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
20
21 /**
22 * @author a.mueller
23 * @since 2023-07-17
24 */
25 public class ColDpExportConfigurator
26 extends TaxonTreeExportConfiguratorBase<ColDpExportState,ColDpExportConfigurator> {
27
28 private static final long serialVersionUID = -1562074221435082060L;
29
30 private CsvIOConfigurator csvIOConfig = CsvIOConfigurator.NewInstance();
31 {
32 csvIOConfig.setFieldsTerminatedBy(",");
33 }
34
35 private boolean isHighlightPrimaryCollector = false;
36
37 private boolean createZipFile = true;
38
39 private Comparator<TaxonNodeDto> taxonNodeComparator;
40
41 //filter
42 private boolean doFactualData = true;
43
44 private static final ColDpExportTransformer transformer = new ColDpExportTransformer();
45
46 //************************* FACTORY ******************************/
47
48 public static ColDpExportConfigurator NewInstance(){
49 ColDpExportConfigurator result = new ColDpExportConfigurator(transformer);
50 return result;
51 }
52
53 public static ColDpExportConfigurator NewInstance(ICdmDataSource source, File destination){
54 ColDpExportConfigurator result = new ColDpExportConfigurator(transformer);
55 result.setSource(source);
56 result.setDestination(destination);
57 return result;
58 }
59
60 //************************ CONSTRUCTOR *******************************/
61
62 private ColDpExportConfigurator(IExportTransformer transformer) {
63 super(transformer);
64 this.resultType = ExportResultType.MAP_BYTE_ARRAY;
65 this.setTarget(TARGET.EXPORT_DATA);
66 setUserFriendlyIOName("Col DP Export");
67 }
68
69 @Override
70 @SuppressWarnings("unchecked")
71 protected void makeIoClassList() {
72 ioClassList = new Class[] {
73 ColDpClassificationExport.class
74 };
75 }
76
77 @Override
78 public ColDpExportState getNewState() {
79 return new ColDpExportState(this);
80 }
81
82 @Override
83 public String getDestinationNameString() {
84 // TODO Auto-generated method stub
85 return null;
86 }
87
88 //******************** GETTER / SETTER *******************************/
89
90 public String getEncoding() {
91 return csvIOConfig.getEncoding();
92 }
93 public void setEncoding(String encoding) {
94 this.csvIOConfig.setEncoding(encoding);
95 }
96
97 public String getLinesTerminatedBy() {
98 return csvIOConfig.getLinesTerminatedBy();
99 }
100 public void setLinesTerminatedBy(String linesTerminatedBy) {
101 this.csvIOConfig.setLinesTerminatedBy(linesTerminatedBy);
102 }
103
104 public String getFieldsEnclosedBy() {
105 return csvIOConfig.getFieldsEnclosedBy();
106 }
107 public void setFieldsEnclosedBy(String fieldsEnclosedBy) {
108 this.csvIOConfig.setFieldsEnclosedBy(fieldsEnclosedBy);
109 }
110
111 public boolean isIncludeHeaderLines() {
112 return csvIOConfig.isIncludeHeaderLines();
113 }
114 public void setIncludeHeaderLines(boolean hasHeaderLines) {
115 this.csvIOConfig.setIncludeHeaderLines(hasHeaderLines);
116 }
117
118 public String getFieldsTerminatedBy() {
119 return csvIOConfig.getFieldsTerminatedBy();
120 }
121 public void setFieldsTerminatedBy(String fieldsTerminatedBy) {
122 this.csvIOConfig.setFieldsTerminatedBy(fieldsTerminatedBy);
123 }
124
125 //TODO really needed?
126 public boolean isHighLightPrimaryCollector() {
127 return isHighlightPrimaryCollector;
128 }
129
130 public boolean isCreateZipFile() {
131 return createZipFile;
132 }
133 public void setCreateZipFile(boolean createZipFile) {
134 this.createZipFile = createZipFile;
135 }
136
137 public Comparator<TaxonNodeDto> getTaxonNodeComparator() {
138 return taxonNodeComparator;
139 }
140 public void setTaxonNodeComparator(Comparator<TaxonNodeDto> taxonNodeComparator) {
141 this.taxonNodeComparator = taxonNodeComparator;
142 }
143
144 public boolean isDoFactualData() {
145 return doFactualData;
146 }
147 public void setDoFactualData(boolean doFactualData) {
148 this.doFactualData = doFactualData;
149 }
150 }