Statistics
| Revision:

svn-gvsig-desktop / 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 / DefaultFeatureStoreNotification.java @ 45739

History | View | Annotate | Download (7.5 KB)

1 40559 jjdelcerro
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24 40435 jjdelcerro
package org.gvsig.fmap.dal.feature.impl;
25
26 44871 jjdelcerro
import java.util.Iterator;
27 40435 jjdelcerro
import org.gvsig.fmap.dal.DataSet;
28
import org.gvsig.fmap.dal.DataStore;
29 45739 jjdelcerro
import org.gvsig.fmap.dal.feature.EditableFeature;
30 40435 jjdelcerro
import org.gvsig.fmap.dal.feature.EditableFeatureType;
31
import org.gvsig.fmap.dal.feature.Feature;
32
import org.gvsig.fmap.dal.feature.FeatureIndex;
33 44871 jjdelcerro
import org.gvsig.fmap.dal.feature.FeatureReference;
34 45738 fdiaz
import org.gvsig.fmap.dal.feature.FeatureStore;
35 40435 jjdelcerro
import org.gvsig.fmap.dal.feature.FeatureStoreNotification;
36 44871 jjdelcerro
import org.gvsig.fmap.dal.feature.FeatureType;
37
import org.gvsig.fmap.dal.feature.FeatureType.FeatureTypeChanged;
38
import org.gvsig.tools.observer.BaseNotification;
39 40435 jjdelcerro
import org.gvsig.tools.undo.command.Command;
40
41 45738 fdiaz
@SuppressWarnings("OverridableMethodCallInConstructor")
42 44871 jjdelcerro
public class DefaultFeatureStoreNotification
43
        extends BaseNotification
44
        implements FeatureStoreNotification {
45 40435 jjdelcerro
46 44871 jjdelcerro
  private static final int VALUE_SOURCE = 0;
47
  private static final int VALUE_FEATURE = 1;
48
  private static final int VALUE_COLLECTION_RESULT = 2;
49
  private static final int VALUE_LOAD_COLLECTION_SUCCESSFULLY = 3;
50
  private static final int VALUE_EXCEPTION_LOADING = 4;
51
  private static final int VALUE_COMMAND = 5;
52
  private static final int VALUE_FEATURE_INDEX = 6;
53
  private static final int VALUE_FEATURETYPE = 7;
54
  private static final int VALUE_CHANGEDS_FEATURETYPES = 8;
55
  private static final int VALUE_UPDATEDS_FEATURES = 9;
56
  private static final int VALUE_INSERTEDS_FEATURES = 10;
57
  private static final int VALUE_DELETEDS_FEATURES = 11;
58
  private static final int VALUE_IS_SELECTION_COMPROMISED = 12;
59 45738 fdiaz
  private static final int VALUE_EDITING_SESSION = 13;
60
  private static final int VALUE_EDIT_MODE = 14;
61 40435 jjdelcerro
62 45738 fdiaz
  private static final int VALUES_COUNT = 15;
63 40435 jjdelcerro
64 44871 jjdelcerro
  public DefaultFeatureStoreNotification(String type) {
65
    super(type, VALUES_COUNT);
66
    this.setValue(VALUE_LOAD_COLLECTION_SUCCESSFULLY, false);
67
    this.setValue(VALUE_IS_SELECTION_COMPROMISED, false);
68
  }
69 40435 jjdelcerro
70 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type) {
71
    this(type);
72
    this.setValue(VALUE_SOURCE, source);
73
  }
74 40435 jjdelcerro
75 45738 fdiaz
  public DefaultFeatureStoreNotification(DataStore source, String type, String editingSession) {
76
    this(type);
77
    this.setValue(VALUE_SOURCE, source);
78
    this.setValue(VALUE_EDITING_SESSION, editingSession);
79
  }
80
81
  public DefaultFeatureStoreNotification(DataStore source, String type, String editingSession, int editMode) {
82
    this(type);
83
    this.setValue(VALUE_SOURCE, source);
84
    this.setValue(VALUE_EDITING_SESSION, editingSession);
85
    this.setValue(VALUE_EDIT_MODE, editMode);
86
  }
87
88 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type, Feature feature) {
89
    this(source, type);
90
    this.setValue(VALUE_FEATURE, feature);
91
  }
92 40435 jjdelcerro
93 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type, Command command) {
94
    this(source, type);
95
    this.setValue(VALUE_SOURCE, source);
96
    this.setValue(VALUE_COMMAND, command);
97
  }
98 40435 jjdelcerro
99 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type, Exception exception) {
100
    this(source, type);
101
    this.setValue(VALUE_LOAD_COLLECTION_SUCCESSFULLY, false);
102
    this.setValue(VALUE_EXCEPTION_LOADING, exception);
103
  }
104 40435 jjdelcerro
105 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type, DataSet collection) {
106
    this(source, type);
107
    this.setValue(VALUE_LOAD_COLLECTION_SUCCESSFULLY, true);
108
    this.setValue(VALUE_COLLECTION_RESULT, collection);
109
  }
110 40435 jjdelcerro
111 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type,
112
          EditableFeatureType featureType) {
113
    this(source, type);
114
    this.setValue(VALUE_FEATURETYPE, featureType);
115
  }
116 40435 jjdelcerro
117 44871 jjdelcerro
  public DefaultFeatureStoreNotification(DataStore source, String type, FeatureIndex index) {
118
    this(source, type);
119
    this.setValue(VALUE_FEATURE_INDEX, index);
120
  }
121 40435 jjdelcerro
122 44871 jjdelcerro
  DefaultFeatureStoreNotification(DataStore source, String type,
123 45738 fdiaz
      String editingSession,
124 44871 jjdelcerro
      Iterator<FeatureReference> deleteds,
125 45739 jjdelcerro
      Iterator<EditableFeature> inserteds,
126
      Iterator<EditableFeature> updateds,
127 44871 jjdelcerro
      Iterator<FeatureType.FeatureTypeChanged> featureTypesChanged,
128 45738 fdiaz
      boolean isSelectionCompromised
129
    ) {
130 44871 jjdelcerro
    this(source, type);
131
    this.setValue(VALUE_DELETEDS_FEATURES, deleteds);
132
    this.setValue(VALUE_INSERTEDS_FEATURES, inserteds);
133
    this.setValue(VALUE_UPDATEDS_FEATURES, updateds);
134
    this.setValue(VALUE_CHANGEDS_FEATURETYPES, featureTypesChanged);
135
    this.setValue(VALUE_IS_SELECTION_COMPROMISED, isSelectionCompromised);
136 45738 fdiaz
    this.setValue(VALUE_EDITING_SESSION, editingSession);
137 44871 jjdelcerro
  }
138 40435 jjdelcerro
139 44871 jjdelcerro
  @Override
140
  public Feature getFeature() {
141
    return (Feature) this.getValue(VALUE_FEATURE);
142
  }
143 40435 jjdelcerro
144 44871 jjdelcerro
  @Override
145 45738 fdiaz
  public String getEditingSession() {
146
    return (String) this.getValue(VALUE_EDITING_SESSION);
147
  }
148
149
  @Override
150
  public int getEditMode() {
151
      try {
152
        return (int) this.getValue(VALUE_EDIT_MODE);
153
      } catch(Exception ex) {
154
          return FeatureStore.MODE_UNKNOWN;
155
      }
156
  }
157
158
  @Override
159 44871 jjdelcerro
  public EditableFeatureType getFeatureType() {
160
    return (EditableFeatureType) this.getValue(VALUE_FEATURETYPE);
161
  }
162 40435 jjdelcerro
163 44871 jjdelcerro
  @Override
164
  public DataSet getCollectionResult() {
165
    return (DataSet) this.getValue(VALUE_COLLECTION_RESULT);
166
  }
167 40435 jjdelcerro
168 44871 jjdelcerro
  @Override
169
  public Exception getExceptionLoading() {
170
    return (Exception) this.getValue(VALUE_EXCEPTION_LOADING);
171
  }
172 40435 jjdelcerro
173 44871 jjdelcerro
  @Override
174
  public boolean loadSucefully() {
175
    return (boolean) this.getValue(VALUE_LOAD_COLLECTION_SUCCESSFULLY);
176
  }
177 40435 jjdelcerro
178 44871 jjdelcerro
  @Override
179
  public Command getCommand() {
180
    return (Command) this.getValue(VALUE_COMMAND);
181
  }
182
183
  @Override
184
  public DataStore getSource() {
185
    return (DataStore) this.getValue(VALUE_SOURCE);
186
  }
187
188
  public FeatureIndex getIndex() {
189
    return (FeatureIndex) this.getValue(VALUE_FEATURE_INDEX);
190
  }
191
192
  @Override
193
  public boolean isSelectionCompromised() {
194
    return (boolean) this.getValue(VALUE_IS_SELECTION_COMPROMISED);
195
  }
196
197
  @Override
198
  public Iterator<FeatureReference> getDeletedsFeatures() {
199
    return (Iterator<FeatureReference>) this.getValue(VALUE_DELETEDS_FEATURES);
200
  }
201
202
  @Override
203
  public Iterator<Feature> getInsertedsFeatures() {
204
    return (Iterator<Feature>) this.getValue(VALUE_INSERTEDS_FEATURES);
205
  }
206
207
  @Override
208
  public Iterator<Feature> getUpdatedsFeatures() {
209
    return (Iterator<Feature>) this.getValue(VALUE_UPDATEDS_FEATURES);
210
  }
211
212
  @Override
213
  public Iterator<FeatureTypeChanged> getChangedsFeatureTypes() {
214
    return (Iterator<FeatureTypeChanged>) this.getValue(VALUE_CHANGEDS_FEATURETYPES);
215
  }
216
217
218 40435 jjdelcerro
}