/* * 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 * . */ package eu.omp.irap.vespa.epntapclient; import java.util.List; import java.util.Map; import eu.omp.irap.vespa.epntapclient.resource.VOResourceException; import eu.omp.irap.vespa.epntapclient.service.Service; import eu.omp.irap.vespa.epntapclient.voresource.model.Resource; /** * @author N. Jourdane */ public interface EpnTapInterface { /** returns a set of VOResource elements (one per EPN-TAP service) */ List getEPNVOResources(Service.ServiceType serviceType) throws VOResourceException; /** * 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. */ List getEPNVOResources(Service.ServiceType serviceType, Map keywords) throws VOResourceException; /** returns the VOResource element of the service identified by the ivoID. */ Resource getEPNVOresource(String ivoid) throws VOResourceException; /** * 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 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 keywords, List 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 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); }