Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.app / org.gvsig.app.mainplugin / src / main / java / org / gvsig / app / extension / updatetable / UpdateTableProcessParametersImpl.java @ 47784

History | View | Annotate | Download (6.79 KB)

1 46448 jjdelcerro
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6 46475 jjdelcerro
package org.gvsig.app.extension.updatetable;
7 46448 jjdelcerro
8
import java.util.Iterator;
9 46475 jjdelcerro
import java.util.LinkedHashMap;
10
import java.util.Map;
11 46575 jjdelcerro
import org.gvsig.app.extension.updatetable.UpdateTableProcessParametersImpl.ProcessFieldParametersImpl;
12 46448 jjdelcerro
import org.gvsig.expressionevaluator.Expression;
13
import org.gvsig.fmap.dal.feature.FeatureStore;
14
import org.gvsig.tools.dispose.DisposeUtils;
15
import org.gvsig.tools.dispose.impl.AbstractDisposable;
16
import org.gvsig.tools.exception.BaseException;
17
18
/**
19
 *
20
 * @author jjdelcerro
21
 */
22 46575 jjdelcerro
public class UpdateTableProcessParametersImpl extends AbstractDisposable implements UpdateTableProcessParameters{
23 47674 jjdelcerro
24
    // FIXME: Deberiamos implementar esto como persistente. Ojo con el store, deberiamos guardar tambien el storeid del repositorio.
25
26 46448 jjdelcerro
27 46575 jjdelcerro
    public static class ProcessFieldParametersImpl implements ProcessFieldParameters {
28 46448 jjdelcerro
29
        private final String name;
30
        private final boolean update;
31
        private final Expression expression;
32
33 46575 jjdelcerro
        public ProcessFieldParametersImpl(String name, boolean update, Expression expression) {
34 46448 jjdelcerro
            this.name = name;
35
            this.update = update;
36
            this.expression = expression;
37
        }
38
39
        /**
40
         * @return the name
41
         */
42 46615 jjdelcerro
        @Override
43 46448 jjdelcerro
        public String getName() {
44
            return name;
45
        }
46
47
        /**
48
         * @return the update
49
         */
50 46615 jjdelcerro
        @Override
51 46448 jjdelcerro
        public boolean isUpdate() {
52
            return update;
53
        }
54
55
        /**
56
         * @return the expression
57
         */
58 46615 jjdelcerro
        @Override
59 46448 jjdelcerro
        public Expression getExpression() {
60
            return expression;
61
        }
62
63
64
    }
65
66
67 46503 fdiaz
    private int rowsToProcess; //selection, edited or all
68 46448 jjdelcerro
    private Expression filter;
69 46475 jjdelcerro
    private final Map<String,ProcessFieldParameters> fields;
70 46448 jjdelcerro
    private FeatureStore store;
71 46475 jjdelcerro
    private int editMode;
72
    private int finishAndRestarEditEach;
73
    private boolean finishAndRestarEdit;
74
    private boolean beginEditIfNeed;
75
    private boolean finishEditAfterTerminate;
76
    private boolean notifyUserIfNeedBeginEditing;
77 46448 jjdelcerro
78
79 46475 jjdelcerro
    public UpdateTableProcessParametersImpl() {
80 46448 jjdelcerro
        super();
81 46475 jjdelcerro
        this.fields = new LinkedHashMap<>();
82 46448 jjdelcerro
        this.rowsToProcess = BATCHUPDATE_PROCESS_ALL;
83
        this.filter = null;
84
        this.store = null;
85
    }
86
87
    @Override
88
    protected void doDispose() throws BaseException {
89
        DisposeUtils.dispose(store);
90
        this.store = null;
91
        this.fields.clear();
92
        this.filter = null;
93
        this.rowsToProcess = BATCHUPDATE_PROCESS_ALL;
94
    }
95
96 46575 jjdelcerro
    @Override
97 46615 jjdelcerro
    public UpdateTableProcessParameters add(String name, boolean update, Expression expression) {
98 46575 jjdelcerro
        ProcessFieldParametersImpl x = new ProcessFieldParametersImpl(name, update, expression);
99 46475 jjdelcerro
        this.fields.put(name,x);
100 46615 jjdelcerro
        return this;
101 46448 jjdelcerro
    }
102
103 46575 jjdelcerro
    @Override
104 46475 jjdelcerro
    public ProcessFieldParameters get(String name) {
105
        return this.fields.get(name);
106
    }
107
108 46448 jjdelcerro
    @Override
109
    public Iterator<ProcessFieldParameters> iterator() {
110 46475 jjdelcerro
        return this.fields.values().iterator();
111 46448 jjdelcerro
    }
112
113 46575 jjdelcerro
    @Override
114 46615 jjdelcerro
    public UpdateTableProcessParameters setStore(FeatureStore store) {
115 46448 jjdelcerro
        DisposeUtils.dispose(this.store);
116
        this.store = store;
117
        DisposeUtils.bind(this.store);
118 46615 jjdelcerro
        return this;
119 46448 jjdelcerro
    }
120
121 46575 jjdelcerro
    @Override
122 46448 jjdelcerro
    public FeatureStore getStore() {
123
        return store;
124
    }
125
126
    /**
127
     * @return the rowsToProcess
128
     */
129 46575 jjdelcerro
    @Override
130 46448 jjdelcerro
    public int getRowsToProcess() {
131
        return rowsToProcess;
132
    }
133
134
    /**
135
     * @param rowsToProcess the rowsToProcess to set
136 46615 jjdelcerro
     * @return
137 46448 jjdelcerro
     */
138 46575 jjdelcerro
    @Override
139 46615 jjdelcerro
    public UpdateTableProcessParameters setRowsToProcess(int rowsToProcess) {
140 46448 jjdelcerro
        this.rowsToProcess = rowsToProcess;
141 46615 jjdelcerro
        return this;
142 46448 jjdelcerro
    }
143
144
    /**
145
     * @return the filter
146
     */
147 46575 jjdelcerro
    @Override
148 46448 jjdelcerro
    public Expression getFilter() {
149
        return filter;
150
    }
151
152
    /**
153
     * @param filter the filter to set
154 46615 jjdelcerro
     * @return
155 46448 jjdelcerro
     */
156 46575 jjdelcerro
    @Override
157 46615 jjdelcerro
    public UpdateTableProcessParameters setFilter(Expression filter) {
158 46448 jjdelcerro
        this.filter = filter;
159 46615 jjdelcerro
        return this;
160 46448 jjdelcerro
    }
161
162 46475 jjdelcerro
    /**
163
     * @return the editMode
164
     */
165 46575 jjdelcerro
    @Override
166 46475 jjdelcerro
    public int getEditMode() {
167
        return editMode;
168
    }
169
170
    /**
171
     * @param editMode the editMode to set
172 46615 jjdelcerro
     * @return
173 46475 jjdelcerro
     */
174 46575 jjdelcerro
    @Override
175 46615 jjdelcerro
    public UpdateTableProcessParameters setEditMode(int editMode) {
176 46475 jjdelcerro
        this.editMode = editMode;
177 46615 jjdelcerro
        return this;
178 46475 jjdelcerro
    }
179
180
    /**
181
     * @return the finishAndRestarEditEach
182
     */
183 46575 jjdelcerro
    @Override
184 46475 jjdelcerro
    public int getFinishAndRestarEditEach() {
185
        return finishAndRestarEditEach;
186
    }
187
188
    /**
189
     * @param finishAndRestarEditEach the finishAndRestarEditEach to set
190 46615 jjdelcerro
     * @return
191 46475 jjdelcerro
     */
192 46575 jjdelcerro
    @Override
193 46615 jjdelcerro
    public UpdateTableProcessParameters setFinishAndRestarEditEach(int finishAndRestarEditEach) {
194 46475 jjdelcerro
        this.finishAndRestarEditEach = finishAndRestarEditEach;
195 46615 jjdelcerro
        return this;
196 46475 jjdelcerro
    }
197
198
    /**
199
     * @return the beginEditIfNeed
200
     */
201 46575 jjdelcerro
    @Override
202 46475 jjdelcerro
    public boolean isBeginEditIfNeed() {
203
        return beginEditIfNeed;
204
    }
205
206
    /**
207
     * @param beginEditIfNeed the beginEditIfNeed to set
208 46615 jjdelcerro
     * @return
209 46475 jjdelcerro
     */
210 46575 jjdelcerro
    @Override
211 46615 jjdelcerro
    public UpdateTableProcessParameters setBeginEditIfNeed(boolean beginEditIfNeed) {
212 46475 jjdelcerro
        this.beginEditIfNeed = beginEditIfNeed;
213 46615 jjdelcerro
        return this;
214 46475 jjdelcerro
    }
215
216
    /**
217
     * @return the finishEditAfterTerminate
218
     */
219 46575 jjdelcerro
    @Override
220 46475 jjdelcerro
    public boolean isFinishEditAfterTerminate() {
221
        return finishEditAfterTerminate;
222
    }
223
224
    /**
225
     * @param finishEditAfterTerminate the finishEditAfterTerminate to set
226
     */
227 46575 jjdelcerro
    @Override
228 46615 jjdelcerro
    public UpdateTableProcessParameters setFinishEditAfterTerminate(boolean finishEditAfterTerminate) {
229 46475 jjdelcerro
        this.finishEditAfterTerminate = finishEditAfterTerminate;
230 46615 jjdelcerro
        return this;
231 46475 jjdelcerro
    }
232
233
    /**
234
     * @return the notifyUserIfNeedBeginEditing
235
     */
236 46575 jjdelcerro
    @Override
237 46475 jjdelcerro
    public boolean isNotifyUserIfNeedBeginEditing() {
238
        return notifyUserIfNeedBeginEditing;
239
    }
240
241
    /**
242
     * @param notifyUserIfNeedBeginEditing the notifyUserIfNeedBeginEditing to set
243
     */
244 46575 jjdelcerro
    @Override
245 46615 jjdelcerro
    public UpdateTableProcessParameters setNotifyUserIfNeedBeginEditing(boolean notifyUserIfNeedBeginEditing) {
246 46475 jjdelcerro
        this.notifyUserIfNeedBeginEditing = notifyUserIfNeedBeginEditing;
247 46615 jjdelcerro
        return this;
248 46475 jjdelcerro
    }
249
250
    /**
251
     * @return the finishAndRestarEdit
252
     */
253 46575 jjdelcerro
    @Override
254 46475 jjdelcerro
    public boolean isFinishAndRestarEdit() {
255
        return finishAndRestarEdit;
256
    }
257
258
    /**
259
     * @param finishAndRestarEdit the finishAndRestarEdit to set
260
     */
261 46575 jjdelcerro
    @Override
262 46615 jjdelcerro
    public UpdateTableProcessParameters setFinishAndRestarEdit(boolean finishAndRestarEdit) {
263 46475 jjdelcerro
        this.finishAndRestarEdit = finishAndRestarEdit;
264 46615 jjdelcerro
        return this;
265 46475 jjdelcerro
    }
266
267 46448 jjdelcerro
}