Blame view

src/main/java/eu/omp/irap/vespa/epntapclient/lib/EpnTapInterface.java 3.25 KB
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
 * This file is a part of EpnTAPClient.
 * This program aims to provide EPN-TAP support for software clients, like CASSIS spectrum analyzer.
 * See draft specifications: https://voparis-confluence.obspm.fr/pages/viewpage.action?pageId=559861
 * Copyright (C) 2016 Institut de Recherche en Astrophysique et Planétologie.
 *
 * This program is free software: you can
 * redistribute it and/or modify it under the terms of the GNU General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or (at your option) any later
 * version. This program is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE. See the GNU General Public License for more details. You should have received a copy of
 * the GNU General Public License along with this program. If not, see
 * <http://www.gnu.org/licenses/>.
 */

bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
17
package eu.omp.irap.vespa.epntapclient.lib;
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
18
19
20

import java.util.List;

bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
21
22
import eu.omp.irap.vespa.epntapclient.voresource.model.Resource;

19c409d4   Nathanael Jourdane   Add the EPNTAP in...
23
24
25
/**
 * @author N. Jourdane
 */
bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
26
public interface EpnTapInterface {
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
27
28

	/** returns a set of VOResource elements (one per EPN-TAP service) */
bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
29
	List<Resource> getEPNVOResources();
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
30
31

	/**
bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
32
33
	 * Returns a set of VOREsource elements (one per EPN-TAP service corresponding to the keywords).
	 * The way keywords are defined is still to be defined.
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
34
	 */
bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
35
	List<Resource> getEPNVOResources(List<String> keywords);
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
36
37

	/** returns the VOResource element of the service identified by the ivoID. */
bfe5db3a   Nathanael Jourdane   rename epnTapLib ...
38
	Resource getEPNVOresource(String ivoid);
19c409d4   Nathanael Jourdane   Add the EPNTAP in...
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

	/**
	 * returns a VOTable containing the list of EPN-TAP services and their attributes (from a
	 * predefined list)
	 */
	void getEPNServices();

	/**
	 * returns a VOTable containing the list of EPN-TAP services and their attributes (from the list
	 * of attributes)
	 */
	void getEPNServices(List<String> attributes);

	/**
	 * returns a VOTable containing the list of EPN-TAP services corresponding to the keywords and
	 * their attributes (from the list of attributes)
	 */
	void getEPNServices(List<String> keywords, List<String> attributes);

	/**
	 * returns a VOTable containing the attributes of the corresponding service (from a predefined
	 * list)
	 */
	void getEPNService(String ivoID);

	/**
	 * returns a VOTable containing the attributes of the corresponding service (from the list of
	 * attributes)
	 */
	void getEPNService(String ivoID, List<String> attributes);

	/** returns the name of the EPNCore Table related to a service. */
	void getEPNCoreTableName(String service_ivoid);

	/** returns the Access URL of an EPN-TAP Service. */
	void getTAPURL(String service_ivoid);

	/**
	 * returns the list of granules which are compliant with the ADQL Query, in VOTable format .
	 * TAPURL is build from elements taken in VOResource. "ADQLQuery" is created by the Client. It
	 * is a full query containing the name of the EPNCore table, taken in VOResource.
	 */
	void sendADQLQuery(String TAPURL, String ADQLQuery);

	/**
	 * returns the list of granules which are compliant with the Query, in VOTable format. "Query"
	 * is not an ADQL query. It is taken from a list of predefined queries. This list must be
	 * created.
	 */
	void sendQuery(String TAPURL, String schema_name, String Query);
}