Revision 46672

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureSelection.java
27 27
 */
28 28
package org.gvsig.fmap.dal.feature;
29 29

  
30
import java.util.Collections;
31
import java.util.Iterator;
32
import java.util.List;
33
import javax.json.JsonArray;
34
import javax.json.JsonArrayBuilder;
35
import org.gvsig.fmap.dal.DataStore;
30 36
import org.gvsig.fmap.dal.exception.DataException;
37
import org.gvsig.tools.dispose.DisposableIterator;
38
import org.gvsig.tools.dynobject.DynObjectSet;
39
import org.gvsig.tools.exception.BaseException;
31 40
import org.gvsig.tools.lang.Cloneable;
41
import org.gvsig.tools.observer.Observable;
42
import org.gvsig.tools.observer.Observer;
43
import org.gvsig.tools.persistence.PersistentState;
44
import org.gvsig.tools.persistence.exception.PersistenceException;
45
import org.gvsig.tools.visitor.Visitor;
32 46

  
33 47
/**
34 48
 * Manages a selection of Features.
......
38 52
public interface FeatureSelection extends FeatureReferenceSelection,
39 53
		FeatureSet, Cloneable {
40 54

  
55
    public static final FeatureSelection EMTPY_FEATURE_SELECTION = new FeatureSelection() {
56
        @Override
57
        public boolean select(Feature feature) {
58
            return false;
59
        }
60

  
61
        @Override
62
        public boolean deselect(Feature feature) {
63
            return false;
64
        }
65

  
66
        @Override
67
        public boolean select(FeatureSet features) throws DataException {
68
            return false;
69
        }
70

  
71
        @Override
72
        public boolean deselect(FeatureSet features) throws DataException {
73
            return false;
74
        }
75

  
76
        @Override
77
        public boolean isSelected(Feature feature) {
78
            return false;
79
        }
80

  
81
        @Override
82
        public boolean isAvailable() {
83
            return true;
84
        }
85

  
86
        @Override
87
        public boolean select(FeatureReference reference) {
88
            return false;
89
        }
90

  
91
        @Override
92
        public boolean deselect(FeatureReference reference) {
93
            return false;
94
        }
95

  
96
        @Override
97
        public void selectAll() throws DataException {
98
        }
99

  
100
        @Override
101
        public void deselectAll() throws DataException {
102
        }
103

  
104
        @Override
105
        public boolean isSelected(FeatureReference reference) {
106
            return false;
107
        }
108

  
109
        @Override
110
        public void reverse() {
111
        }
112

  
113
        @Override
114
        public long getSelectedCount() {
115
            return 0;
116
        }
117

  
118
        @Override
119
        public Iterator<FeatureReference> referenceIterator() {
120
            return Collections.EMPTY_LIST.iterator();
121
        }
122

  
123
        @Override
124
        public Iterable<FeatureReference> referenceIterable() {
125
            return Collections.EMPTY_LIST;
126
        }
127

  
128
        @Override
129
        public boolean isFromStore(DataStore store) {
130
            return false;
131
        }
132

  
133
        @Override
134
        public void accept(Visitor visitor) throws BaseException {
135
        }
136

  
137
        @Override
138
        public void dispose() {
139
        }
140

  
141
        @Override
142
        public void update(Observable observable, Object notification) {
143
        }
144

  
145
        @Override
146
        public void addObserver(Observer o) {
147
        }
148

  
149
        @Override
150
        public void deleteObserver(Observer o) {
151
        }
152

  
153
        @Override
154
        public void deleteObservers() {
155
        }
156

  
157
        @Override
158
        public void disableNotifications() {
159
        }
160

  
161
        @Override
162
        public void enableNotifications() {
163
        }
164

  
165
        @Override
166
        public void beginComplexNotification() {
167
        }
168

  
169
        @Override
170
        public void endComplexNotification() {
171
        }
172

  
173
        @Override
174
        public void saveToState(PersistentState state) throws PersistenceException {
175
        }
176

  
177
        @Override
178
        public void loadFromState(PersistentState state) throws PersistenceException {
179
        }
180

  
181
        @Override
182
        public FeatureType getDefaultFeatureType() {
183
            return null;
184
        }
185

  
186
        @Override
187
        public List getFeatureTypes() {
188
            return null;
189
        }
190

  
191
        @Override
192
        public long getSize() throws DataException {
193
            return 0;
194
        }
195

  
196
        @Override
197
        public DisposableIterator iterator(long index) throws DataException {
198
            return DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
199
        }
200

  
201
        @Override
202
        public DisposableIterator iterator(long index, long elements) throws DataException {
203
            return DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
204
        }
205

  
206
        @Override
207
        public DisposableFeatureSetIterable iterable() {
208
            return DisposableFeatureSetIterable.EMPTY_DISPOSABLE_FEATURE_SET_ITERABLE;
209
        }
210

  
211
        @Override
212
        public DisposableFeatureSetIterable iterable(boolean disposeFeatureSet) {
213
            return DisposableFeatureSetIterable.EMPTY_DISPOSABLE_FEATURE_SET_ITERABLE;
214
        }
215

  
216
        @Override
217
        public DisposableIterator fastIterator() throws DataException {
218
            return DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
219
        }
220

  
221
        @Override
222
        public DisposableIterator fastIterator(long index) throws DataException {
223
            return DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
224
        }
225

  
226
        @Override
227
        public DisposableIterator fastIterator(long index, long elemets) throws DataException {
228
            return DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
229
        }
230

  
231
        @Override
232
        public Feature first() {
233
            return null;
234
        }
235

  
236
        @Override
237
        public void update(EditableFeature feature) throws DataException {
238
        }
239

  
240
        @Override
241
        public void commitChanges() throws DataException {
242
        }
243

  
244
        @Override
245
        public void delete(Feature feature) throws DataException {
246
        }
247

  
248
        @Override
249
        public void insert(EditableFeature feature) throws DataException {
250
        }
251

  
252
        @Override
253
        public DynObjectSet getDynObjectSet() {
254
            return null;
255
        }
256

  
257
        @Override
258
        public DynObjectSet getDynObjectSet(boolean fast) {
259
            return null;
260
        }
261

  
262
        @Override
263
        public void accept(Visitor visitor, long firstValueIndex) throws BaseException {
264
        }
265

  
266
        @Override
267
        public void accept(Visitor visitor, long firstValueIndex, long elements) throws BaseException {
268
        }
269

  
270
        @Override
271
        public FeatureStore getFeatureStore() {
272
            return null;
273
        }
274

  
275
        @Override
276
        public JsonArray toJSON() {
277
            return null;
278
        }
279

  
280
        @Override
281
        public JsonArray toJson() {
282
            return null;
283
        }
284

  
285
        @Override
286
        public JsonArrayBuilder toJsonBuilder() {
287
            return null;
288
        }
289

  
290
        @Override
291
        public long size64() {
292
            return 0;
293
        }
294

  
295
        @Override
296
        public int size() {
297
            return 0;
298
        }
299

  
300
        @Override
301
        public boolean isEmpty() {
302
            return false;
303
        }
304

  
305
        @Override
306
        public DisposableIterator<Feature> iterator() {
307
            return DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
308
        }
309

  
310
        @Override
311
        public Object clone() throws CloneNotSupportedException {
312
            return this;
313
        }
314
        
315
        
316
    };
317
    
41 318
    /**
42 319
     * Adds a feature to the selection.
43 320
     * 
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureSet.java
23 23
 */
24 24
package org.gvsig.fmap.dal.feature;
25 25

  
26
import java.util.Collections;
26 27
import java.util.Iterator;
27 28
import java.util.List;
28 29
import javax.json.JsonArray;
29 30
import javax.json.JsonArrayBuilder;
30

  
31 31
import org.gvsig.fmap.dal.DataSet;
32 32
import org.gvsig.fmap.dal.exception.DataException;
33
import org.gvsig.tools.dispose.DisposableIterable;
33 34
import org.gvsig.tools.dispose.DisposableIterator;
34
import org.gvsig.tools.dispose.DisposableIterable;
35 35
import org.gvsig.tools.dynobject.DynObject;
36 36
import org.gvsig.tools.dynobject.DynObjectSet;
37 37
import org.gvsig.tools.exception.BaseException;
......
71 71
    public interface DisposableFeatureSetIterable
72 72
            extends DisposableIterable<Feature>, Iterator<Feature>, Size64, IsEmpty {
73 73
        
74
        public static DisposableFeatureSetIterable EMPTY_DISPOSABLE_FEATURE_SET_ITERABLE = new DisposableFeatureSetIterable() {
75
            @Override
76
            public FeatureSet getFeatureSet() {
77
                return null;
78
            }
79

  
80
            @Override
81
            public Iterator<Feature> iterator() {
82
                return Collections.EMPTY_LIST.iterator();
83
            }
84

  
85
            @Override
86
            public void dispose() {
87
            }
88

  
89
            @Override
90
            public boolean hasNext() {
91
                return false;
92
            }
93

  
94
            @Override
95
            public Feature next() {
96
                return null;
97
            }
98

  
99
            @Override
100
            public long size64() {
101
                return 0;
102
            }
103

  
104
            @Override
105
            public boolean isEmpty() {
106
                return false;
107
            }
108
        };
109
        
74 110
        public FeatureSet getFeatureSet();
75 111
    }
76 112

  
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/FeatureStore.java
26 26
import java.util.Iterator;
27 27
import java.util.List;
28 28
import javax.json.JsonObject;
29

  
30 29
import org.cresques.cts.IProjection;
31 30
import org.gvsig.expressionevaluator.Expression;
32 31
import org.gvsig.expressionevaluator.ExpressionBuilder;
33

  
34 32
import org.gvsig.fmap.dal.DataServerExplorer;
35 33
import org.gvsig.fmap.dal.DataStore;
36 34
import org.gvsig.fmap.dal.DataStoreParameters;
......
1216 1214
     */
1217 1215
    public FeatureSelection getFeatureSelection() throws DataException;
1218 1216

  
1217
    public FeatureSelection getFeatureSelectionQuietly();
1218

  
1219 1219
    /*
1220 1220
     * =============================================================
1221 1221
     *
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/test/java/org/gvsig/fmap/dal/feature/DummyFetureStore.java
980 980
    @Override
981 981
    public void setTemporary(Boolean temporary) {
982 982
    }
983

  
984
    @Override
985
    public FeatureSelection getFeatureSelectionQuietly() {
986
        return null;
987
    }
983 988
    
984 989
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java
1037 1037
    }
1038 1038

  
1039 1039
    @Override
1040
    public FeatureSelection getFeatureSelectionQuietly() {
1041
        try {
1042
            return this.getFeatureSelection();
1043
        } catch (DataException ex) {
1044
            return FeatureSelection.EMTPY_FEATURE_SELECTION;
1045
        }
1046
    }
1047
    
1048
    
1049

  
1050
    @Override
1040 1051
    public boolean isFeatureSelectionEmpty() {
1041 1052
        if( selection == null ) {
1042 1053
            return true;

Also available in: Unified diff