Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.spi / src / main / java / org / gvsig / fmap / dal / feature / spi / index / FeatureIndexProvider.java @ 40435

History | View | Annotate | Download (3.33 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
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 2
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
*/
22

    
23
/*
24
* AUTHORS (In addition to CIT):
25
* 2008 {{Company}}   {{Task}}
26
*/
27
 
28

    
29
package org.gvsig.fmap.dal.feature.spi.index;
30

    
31
import java.util.List;
32

    
33
import org.gvsig.fmap.dal.exception.DataException;
34
import org.gvsig.fmap.dal.exception.InitializeException;
35
import org.gvsig.fmap.dal.feature.exception.FeatureIndexException;
36
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices;
37

    
38

    
39
public interface FeatureIndexProvider {
40
        
41
        /** Sets the IndexProviderServices that will provide application services to this index provider */
42
        public void setFeatureIndexProviderServices(FeatureIndexProviderServices services);
43
        
44
        /** Initializes this provider */
45
        public void initialize() throws InitializeException;
46

    
47
        /** Inserts a value into the index */
48
        public void insert(Object value, FeatureReferenceProviderServices fref);
49

    
50
        /** Deletes a value from the index, given its reference */
51
        public void delete(Object value, FeatureReferenceProviderServices fref);
52
        
53
        /** Performs a search in the index and returns a list with all the values that match the given value 
54
         * @throws FeatureIndexException TODO*/
55
        public List match(Object value) throws FeatureIndexException;
56
        
57
        /** Performs a search in the index and returns a list with the values that intersect with the given interval 
58
         * @throws FeatureIndexException TODO*/
59
        public List range(Object value1, Object value2) throws FeatureIndexException;
60
        
61
        /** Performs a search in the index and returns the list of up to n values which are nearest to the given value. */
62
        public List nearest(int count, Object value) throws FeatureIndexException;        
63

    
64
        /** Performs a search in the index and returns the list of up to n values which are nearest to the given value and within the distance specified by tolerance. */
65
        public List nearest(int count, Object value, Object tolerance) throws FeatureIndexException;        
66
        
67
        
68
        /** Returns true if the provider supports the match function */
69
        public boolean isMatchSupported();
70
        /** Returns true if the provider supports the range function */
71
        public boolean isRangeSupported();
72
        /** Returns true if the provider supports the nearest function */
73
        public boolean isNearestSupported();
74
        /** Returns true if the provider supports the nearest with tolerance function */
75
        public boolean isNearestToleranceSupported();
76
        public boolean allowNulls();
77

    
78
    /**
79
     * Removes all indexed data.
80
     * 
81
     * @throws DataException
82
     *             if there is an error clearing the index
83
     */
84
    public void clear() throws DataException;
85

    
86
}
87