Revision 15558 trunk/applications/appCatalogAndGazetteerClient/src/es/gva/cit/gazetteer/drivers/IGazetteerServiceDriver.java

View differences:

IGazetteerServiceDriver.java
1 1

  
2 2
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
3
*
4
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
19
*
20
* For more information, contact:
21
*
22
*  Generalitat Valenciana
23
*   Conselleria d'Infraestructures i Transport
24
*   Av. Blasco Ib??ez, 50
25
*   46010 VALENCIA
26
*   SPAIN
27
*
28
*      +34 963862235
29
*   gvsig@gva.es
30
*      www.gvsig.gva.es
31
*
32
*    or
33
*
34
*   IVER T.I. S.A
35
*   Salamanca 50
36
*   46005 Valencia
37
*   Spain
38
*
39
*   +34 963163400
40
*   dac@iver.es
41
*/
3
 *
4
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
19
 *
20
 * For more information, contact:
21
 *
22
 *  Generalitat Valenciana
23
 *   Conselleria d'Infraestructures i Transport
24
 *   Av. Blasco Ib??ez, 50
25
 *   46010 VALENCIA
26
 *   SPAIN
27
 *
28
 *      +34 963862235
29
 *   gvsig@gva.es
30
 *      www.gvsig.gva.es
31
 *
32
 *    or
33
 *
34
 *   IVER T.I. S.A
35
 *   Salamanca 50
36
 *   46005 Valencia
37
 *   Spain
38
 *
39
 *   +34 963163400
40
 *   dac@iver.es
41
 */
42 42
package es.gva.cit.gazetteer.drivers;
43
import es.gva.cit.catalogClient.metadataXML.XMLNode;
43
import java.net.URI;
44

  
45
import es.gva.cit.catalog.drivers.IDiscoveryServiceDriver;
44 46
import es.gva.cit.gazetteer.querys.Feature;
45
import es.gva.cit.gazetteer.querys.Query;
46
import es.gva.cit.gazetteer.querys.ThesaurusName;
47
import java.net.URL;
48
import java.util.Collection;
49
import java.util.Vector;
47
import es.gva.cit.gazetteer.querys.FeatureTypeAttribute;
48
import es.gva.cit.gazetteer.querys.GazetteerQuery;
50 49
/**
51 50
 * This interface contains the common methods that have to be
52 51
 * implemented by all the gazetteer drivers.
......
54 53
 * 
55 54
 * @author Jorge Piera Llodra (piera_jor@gva.es)
56 55
 */
57
public interface IGazetteerServiceDriver {
58
/**
59
 * It have to prove if the specified protocol is supported.
60
 * 
61
 * 
62
 * @return true if is supported, false if it isn't supported
63
 * @param url Server URL
64
 */
65
    public boolean isProtocolSupported(URL url);
66
/**
67
 * It try to discover the server capabilities.
68
 * 
69
 * 
70
 * @return Node with the server answer.
71
 * @param url Server URL
72
 */
73
    public Collection getCapabilities(URL url);
74
/**
75
 * It returns feature properties
76
 * 
77
 * 
78
 * @return Node with the server answer
79
 * @param url Server URL
80
 * @param feature Feature name
81
 */
82
    public Collection describeFeatureType(URL url, String feature);
83
/**
84
 * It returns the records finded
85
 * 
86
 * 
87
 * @return 
88
 * @param url Server URL
89
 * @param query Query with the search parameters
90
 */
91
    public Collection getFeature(URL url, Query query);
92
/**
93
 * This method is used to update the client parameters
94
 * 
95
 * 
96
 * @return true if the it's possible to update the server
97
 * @param nodes Node with the parameters to update
98
 */
99
    public boolean setParameters(Collection nodes);
100
/**
101
 * It parses the getFeature opearation
102
 * 
103
 * 
104
 * @return Array of features
105
 * @param node XMLNode
106
 * @param thesaurus The typename selected
107
 * @param attribute The attribute to do the search
108
 */
109
    public Feature[] parseFeatures(XMLNode node, ThesaurusName thesaurus, String attribute);
110
/**
111
 * It return a message to write in the server connection frame
112
 * 
113
 * 
114
 * @return It is/isn't the supported protocol
115
 */
116
    public String getServerAnswerReady();
117
/**
118
 * This function returns a vector with the features retrieved from
119
 * the get Capabilities file
120
 * 
121
 * 
122
 * @return A vector
123
 */
124
    public Vector getVectorFeatures();
56
public interface IGazetteerServiceDriver extends IDiscoveryServiceDriver{
57
	/**
58
	 * It returns feature properties
59
	 * @param uri Server URI
60
	 * @param feature Feature name
61
	 * @return Array of the attributes of a feature
62
	 */
63
	public FeatureTypeAttribute[] describeFeatureType(URI uri, String featureType) throws Exception;
64
	
65
	/**
66
	 * There are protocols that need to invoke the describeFeatureType
67
	 * operation before to do a getFeature.
68
	 * @return if the describeFeatureType operation is needed. 
69
	 */
70
	public boolean isDescribeFeatureTypeNeeded();
71
	
72
	/**
73
	 * It returns the foubd records
74
	 * @param uri Server URI
75
	 * @param query Query with the search parameters
76
	 * @return The features
77
	 */	
78
	public Feature[] getFeature(URI uri, GazetteerQuery query) throws Exception;
79
		
80
	/**
81
	 * @return the projection
82
	 */
83
	public String getProjection();
84

  
85
	/**
86
	 * @param projection the projection to set
87
	 */
88
	public void setProjection(String projection);
89

  
125 90
}
126 91

  
127 92

  

Also available in: Unified diff