Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.exportto / org.gvsig.exportto.swing / org.gvsig.exportto.swing.prov / org.gvsig.exportto.swing.prov.csv / src / main / java / org / gvsig / export / csv / service / ExportCSVParametersImpl.java @ 44411

History | View | Annotate | Download (6.08 KB)

1
package org.gvsig.export.csv.service;
2

    
3
import java.io.File;
4
import org.apache.commons.io.FilenameUtils;
5
import org.apache.commons.lang3.StringUtils;
6
import org.gvsig.export.spi.AbstractExportParametersGeometry;
7
import org.gvsig.fmap.dal.feature.FeatureType;
8
import org.gvsig.tools.ToolsLocator;
9
import org.gvsig.tools.dynobject.DynStruct;
10
import org.gvsig.tools.persistence.PersistenceManager;
11
import org.gvsig.tools.persistence.PersistentState;
12
import org.gvsig.tools.persistence.exception.PersistenceException;
13

    
14
/**
15
 *
16
 * @author jjdelcerro
17
 */
18
public class ExportCSVParametersImpl
19
        extends AbstractExportParametersGeometry
20
        implements ExportCSVParameters {
21

    
22
    private String encoding;
23
    private File file;
24
    private String profile;
25
    private String charset;
26
    private String escapeCharacter;
27
    private String commentStartMarker;
28
    private String quoteCharacter;
29
    private String delimiter;
30
    private String recordSeparator;
31
    private String locale;
32
    private String quotePolicy;
33

    
34
    public ExportCSVParametersImpl(ExportCSVServiceFactory factory) {
35
        super(factory);
36
    }
37

    
38
    public ExportCSVParametersImpl() {
39
        super(null);
40
    }
41

    
42
    @Override
43
    public String getServiceName() {
44
        return ExportCSVServiceFactory.SERVICE_NAME;
45
    }
46

    
47
    @Override
48
    public File getFile() {
49
        return this.file;
50
    }
51

    
52
    @Override
53
    public void setFile(File file) {
54
        this.file = new File(FilenameUtils.removeExtension(file.getAbsolutePath()) + ".csv");
55
    }
56

    
57
    @Override
58
    public void setSourceFeatureType(FeatureType sourceFeatureType) {
59
        super.setSourceFeatureType(sourceFeatureType);
60
    }
61

    
62
    @Override
63
    public String getProfile() {
64
        return this.profile;
65
    }
66

    
67
    @Override
68
    public void setProfile(String profile) {
69
        this.profile = profile;
70
    }
71

    
72
    @Override
73
    public String getQuotePolicy() {
74
        return this.quotePolicy;
75
    }
76

    
77
    @Override
78
    public void setQuotePolicy(String quotePolicy) {
79
        this.quotePolicy = quotePolicy;
80
    }
81

    
82
    @Override
83
    public String getLocale() {
84
        return this.locale;
85
    }
86

    
87
    @Override
88
    public void setLocale(String locale) {
89
        this.locale = locale;
90
    }
91

    
92
    @Override
93
    public String getRecordSeparator() {
94
        return this.recordSeparator;
95
    }
96

    
97
    @Override
98
    public void setRecordSeparator(String recordSeparator) {
99
        this.recordSeparator = recordSeparator;
100
    }
101

    
102
    @Override
103
    public String getDelimiter() {
104
        return this.delimiter;
105
    }
106

    
107
    @Override
108
    public void setDelimiter(String delimiter) {
109
        this.delimiter = delimiter;
110
    }
111

    
112
    @Override
113
    public String getQuoteCharacter() {
114
        return this.quoteCharacter;
115
    }
116

    
117
    @Override
118
    public void setQuoteCharacter(String quoteCharacter) {
119
        this.quoteCharacter = quoteCharacter;
120
    }
121

    
122
    @Override
123
    public String getCommentStartMarker() {
124
        return this.commentStartMarker;
125
    }
126

    
127
    @Override
128
    public void setCommentStartMarker(String commentStartMarker) {
129
        this.commentStartMarker = commentStartMarker;
130
    }
131

    
132
    @Override
133
    public String getEscapeCharacter() {
134
        return this.escapeCharacter;
135
    }
136

    
137
    @Override
138
    public void setEscapeCharacter(String escapeCharacer) {
139
        this.escapeCharacter = escapeCharacer;
140
    }
141

    
142
    @Override
143
    public String getCharset() {
144
        return this.charset;
145
    }
146

    
147
    @Override
148
    public void setCharset(String charset) {
149
        this.charset = charset;
150
    }
151

    
152
    @Override
153
    public String toString() {
154
        String label = StringUtils.join(super.getLabel(), ",", this.getProfile());
155
        return label;
156
    }
157

    
158
    public static void registerPersistence() {
159

    
160
        PersistenceManager manager = ToolsLocator.getPersistenceManager();
161
        if (manager.getDefinition("ExportCSVParametersImpl") == null) {
162
            DynStruct definition = manager.addDefinition(ExportCSVParametersImpl.class,
163
                    "ExportCSVParametersImpl", "ExportCSVParametersImpl persistence definition", null, null);
164

    
165
            definition.addDynFieldString("encoding");
166
            definition.addDynFieldFile("file");
167
            definition.addDynFieldString("profile");
168
            definition.addDynFieldString("charset");
169
            definition.addDynFieldString("escapeCharacter");
170
            definition.addDynFieldString("commentStartMarker");
171
            definition.addDynFieldString("quoteCharacter");
172
            definition.addDynFieldString("delimiter");
173
            definition.addDynFieldString("recordSeparator");
174
            definition.addDynFieldString("locale");
175
            definition.addDynFieldString("quotePolicy");
176

    
177
            definition.extend(manager.getDefinition("AbstractExportParametersGeometry"));
178
        }
179
    }
180

    
181
    @Override
182
    public void saveToState(PersistentState state) throws PersistenceException {
183
        super.saveToState(state);
184
        state.set("encoding", encoding);
185
        state.set("file", file);
186
        state.set("profile", profile);
187
        state.set("charset", charset);
188
        state.set("escapeCharacter", escapeCharacter);
189
        state.set("commentStartMarker", commentStartMarker);
190
        state.set("quoteCharacter", quoteCharacter);
191
        state.set("delimiter", delimiter);
192
        state.set("recordSeparator", recordSeparator);
193
        state.set("locale", locale);
194
        state.set("quotePolicy", quotePolicy);
195
    }
196

    
197
    @Override
198
    public void loadFromState(PersistentState state) throws PersistenceException {
199
        super.loadFromState(state);
200
        this.encoding = state.getString("encoding");
201
        this.file = state.getFile("file");
202
        this.profile = state.getString("profile");
203
        this.charset = state.getString("charset");
204
        this.escapeCharacter = state.getString("escapeCharacter");
205
        this.commentStartMarker = state.getString("commentStartMarker");
206
        this.quoteCharacter = state.getString("quoteCharacter");
207
        this.delimiter = state.getString("delimiter");
208
        this.recordSeparator = state.getString("recordSeparator");
209
        this.locale = state.getString("locale");
210
        this.quotePolicy = state.getString("quotePolicy");
211
    }
212

    
213
}