Revision 47049 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

View differences:

FeatureSet.java
23 23
 */
24 24
package org.gvsig.fmap.dal.feature;
25 25

  
26
import java.util.Collections;
27
import java.util.Iterator;
28 26
import java.util.List;
29 27
import javax.json.JsonArray;
30 28
import javax.json.JsonArrayBuilder;
29
import org.gvsig.expressionevaluator.Expression;
31 30
import org.gvsig.fmap.dal.DataSet;
31
import org.gvsig.fmap.dal.DataStore;
32 32
import org.gvsig.fmap.dal.exception.DataException;
33
import org.gvsig.tools.dispose.DisposableIterable;
33
import static org.gvsig.fmap.dal.feature.DisposableFeatureSetIterable.EMPTY_DISPOSABLE_FEATURE_SET_ITERABLE;
34
import org.gvsig.json.Json;
34 35
import org.gvsig.tools.dispose.DisposableIterator;
36
import static org.gvsig.tools.dispose.DisposableIterator.EMPTY_DISPOSABLE_ITERATOR;
35 37
import org.gvsig.tools.dynobject.DynObject;
36 38
import org.gvsig.tools.dynobject.DynObjectSet;
39
import static org.gvsig.tools.dynobject.DynObjectSet.EMPTY_DYNOBJECTSET;
37 40
import org.gvsig.tools.exception.BaseException;
38 41
import org.gvsig.tools.util.IsEmpty;
39 42
import org.gvsig.tools.util.Size;
......
68 71
 */
69 72
public interface FeatureSet extends DataSet, Size64, Size, IsEmpty, IndexedVisitable, Iterable<Feature> {
70 73

  
71
    public interface DisposableFeatureSetIterable
72
            extends DisposableIterable<Feature>, Iterator<Feature>, Size64, IsEmpty {
73
        
74
        public static DisposableFeatureSetIterable EMPTY_DISPOSABLE_FEATURE_SET_ITERABLE = new DisposableFeatureSetIterable() {
75
            @Override
76
            public FeatureSet getFeatureSet() {
77
                return null;
78
            }
74
    public static FeatureSet EMPTY_FEATURESET = new FeatureSet() {
75
        @Override
76
        public FeatureType getDefaultFeatureType() {
77
            return null;
78
        }
79 79

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

  
85
            @Override
86
            public void dispose() {
87
            }
85
        @Override
86
        public long getSize() throws DataException {
87
            return 0;
88
        }
88 89

  
89
            @Override
90
            public boolean hasNext() {
91
                return false;
92
            }
90
        @Override
91
        public DisposableIterator iterator(long index) throws DataException {
92
            return EMPTY_DISPOSABLE_ITERATOR;
93
        }
93 94

  
94
            @Override
95
            public Feature next() {
96
                return null;
97
            }
95
        @Override
96
        public DisposableIterator iterator(long index, long elements) throws DataException {
97
            return EMPTY_DISPOSABLE_ITERATOR;
98
        }
98 99

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

  
104
            @Override
105
            public boolean isEmpty() {
106
                return false;
107
            }
108
        };
105
        @Override
106
        public DisposableFeatureSetIterable iterable(boolean disposeFeatureSet) {
107
            return EMPTY_DISPOSABLE_FEATURE_SET_ITERABLE;
108
        }
109

  
110
        @Override
111
        public DisposableIterator fastIterator() throws DataException {
112
            return EMPTY_DISPOSABLE_ITERATOR;
113
        }
114

  
115
        @Override
116
        public DisposableIterator fastIterator(long index) throws DataException {
117
            return EMPTY_DISPOSABLE_ITERATOR;
118
        }
119

  
120
        @Override
121
        public DisposableIterator fastIterator(long index, long elemets) throws DataException {
122
            return EMPTY_DISPOSABLE_ITERATOR;
123
        }
124

  
125
        @Override
126
        public Feature first() {
127
            return null;
128
        }
129

  
130
        @Override
131
        public void update(EditableFeature feature) throws DataException {
132
        }
133

  
134
        @Override
135
        public void commitChanges() throws DataException {
136
        }
137

  
138
        @Override
139
        public void delete(Feature feature) throws DataException {
140
        }
141

  
142
        @Override
143
        public void insert(EditableFeature feature) throws DataException {
144
        }
145

  
146
        @Override
147
        public DynObjectSet getDynObjectSet() {
148
            return EMPTY_DYNOBJECTSET;
149
        }
150

  
151
        @Override
152
        public DynObjectSet getDynObjectSet(boolean fast) {
153
            return EMPTY_DYNOBJECTSET;
154
        }
155

  
156
        @Override
157
        public void accept(Visitor visitor, long firstValueIndex) throws BaseException {
158
        }
159

  
160
        @Override
161
        public void accept(Visitor visitor, long firstValueIndex, long elements) throws BaseException {
162
        }
163

  
164
        @Override
165
        public FeatureStore getFeatureStore() {
166
            return null;
167
        }
168

  
169
        @Override
170
        public JsonArray toJSON() {
171
            return toJson();
172
        }
173

  
174
        @Override
175
        public JsonArray toJson() {
176
            return Json.createArrayBuilder().build();
177
        }
178

  
179
        @Override
180
        public JsonArrayBuilder toJsonBuilder() {
181
            return Json.createArrayBuilder();
182
        }
183

  
184
        @Override
185
        public boolean isFromStore(DataStore store) {
186
            return false;
187
        }
188

  
189
        @Override
190
        public void accept(Visitor visitor) throws BaseException {
191
        }
192

  
193
        @Override
194
        public void dispose() {
195
            // Do nothing
196
        }
197

  
198
        @Override
199
        public long size64() {
200
            return 0;
201
        }
202

  
203
        @Override
204
        public int size() {
205
            return 0;
206
        }
207

  
208
        @Override
209
        public boolean isEmpty() {
210
            return true;
211
        }
212

  
213
        @Override
214
        public DisposableIterator<Feature> iterator() {
215
            return EMPTY_DISPOSABLE_ITERATOR;
216
        }
217

  
218
        @Override
219
        public Expression makeFilter(int maxfeatures) {
220
            return null;
221
        }
109 222
        
110
        public FeatureSet getFeatureSet();
111
    }
112

  
223
    };
224
    
113 225
    /**
114 226
     * Returns the default {@link FeatureType} of this FeatureSet.
115 227
     *
......
369 481

  
370 482
    public JsonArrayBuilder toJsonBuilder();
371 483
    
484
    public Expression makeFilter(int maxfeatures);
485
    
372 486
}

Also available in: Unified diff