Statistics
| Revision:

gvsig-projects-pool / org.gvsig.topology / trunk / org.gvsig.topology / org.gvsig.topology.lib / org.gvsig.topology.lib.api / src / main / java / org / gvsig / topology / lib / api / TopologyDataSet.java @ 2067

History | View | Annotate | Download (2.93 KB)

1
/**
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
package org.gvsig.topology.lib.api;
25

    
26
import org.gvsig.expressionevaluator.Expression;
27
import org.gvsig.fmap.dal.DataStore;
28
import org.gvsig.fmap.dal.exception.DataException;
29
import org.gvsig.fmap.dal.feature.EditableFeature;
30
import org.gvsig.fmap.dal.feature.Feature;
31
import org.gvsig.fmap.dal.feature.FeatureReference;
32
import org.gvsig.fmap.dal.feature.FeatureStore;
33
import org.gvsig.fmap.geom.Geometry;
34
import org.gvsig.fmap.geom.SpatialIndex;
35
import org.gvsig.tools.util.PropertiesSupport;
36
import org.gvsig.tools.visitor.VisitCanceledException;
37
import org.gvsig.tools.visitor.Visitor;
38

    
39
/**
40
 *
41
 * @author jjdelcerro
42
 */
43
public interface TopologyDataSet extends PropertiesSupport, SerializableJSON {
44

    
45
    public static interface Operation {
46
        public void run() throws DataException;
47
    }
48
    
49
    public void setName(String name);
50

    
51
    public String getName();
52
    
53
    public DataStore getStore();
54

    
55
    public FeatureStore getFeatureStore();
56

    
57
    public boolean isThisStore(FeatureStore featureStore);
58

    
59
    public int getGeometryType() ;
60

    
61
    public void accept(Visitor visitor) throws VisitCanceledException;
62

    
63
    public void edit() throws DataException;
64

    
65
    public void finishEditing() throws DataException;
66
    
67
    public EditableFeature createNewFeature() throws DataException;
68

    
69
    public void delete(FeatureReference feature) throws DataException;
70

    
71
    public void delete(Feature feature) throws DataException;
72

    
73
    public void insert(EditableFeature feature) throws DataException;
74

    
75
    public void update(EditableFeature feature) throws DataException;
76

    
77
    public long getSize();
78
    
79
    public SpatialIndex getSpatialIndex();
80
    
81
    /**
82
     * @param geom
83
     * @return 
84
     * @deprecated  use queryFeatures or queryReferences
85
     */
86
    public Iterable<FeatureReference> query(Geometry geom);
87
    
88
    public Iterable<Feature> queryFeatures(Geometry geom);
89
    
90
    public Iterable<FeatureReference> queryReferences(Geometry geom);
91

    
92
    public Feature findFirst(Expression expression);
93

    
94
    public void restart();
95
}