Class RegTapRegistryQuery

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static uk.ac.starlink.table.ValueInfo ADQL_INFO
      Description of metadata item describing query text.
      static java.lang.String AIP_REG
      TAP endpoint for GAVO registry hosted at AIP.
      static java.lang.String ARI_REG
      TAP endpoint for GAVO registry hosted at ARI Heidelberg.
      static java.lang.String EUROVO_REG
      TAP endpoint for Euro-VO registry, currently hosted at ESAC.
      static java.lang.String GAVO_REG
      TAP endpoint for high-availablity GAVO registry (DNS pointer).
      static java.lang.String INAF_REG
      TAP endpoint for INAF registry (not sure if this is permanent).
      static java.lang.String PARIS_REG
      TAP endpoint for registry hosted at ObsPM, synced with GAVO.
      static java.lang.String[] REGISTRIES
      List of known registry TAP endpoints.
      static uk.ac.starlink.table.ValueInfo REGISTRY_INFO
      Description of metadata item describing registry location.
      static java.lang.String STSCI_REG
      TAP endpoint for STScI/VAO registry.
    • Constructor Summary

      Constructors 
      Constructor Description
      RegTapRegistryQuery​(EndpointSet tapEndpointSet, java.lang.String standardId, java.lang.String adqlWhere)
      Constructs a query which will return RegResource lists for registry resource records with two optional restrictions: (a) restricted to a given service type, and (b) restricted by some free-form ADQL.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String getAdqlCondition​(ResourceField field, java.lang.String keyword)
      Returns text that can be used as part of a WHERE clause to supply to this class that tests for a keyword in a given RR field.
      uk.ac.starlink.table.DescribedValue[] getMetadata()
      Returns a set of DescribedValue objects which characterise this query.
      java.util.Iterator<RegResource> getQueryIterator()
      Executes the query described by this object and returns an Iterator over RegResource objects.
      RegResource[] getQueryResources()
      Executes the query described by this object and returns the result as an array of RegResources.
      java.net.URL getRegistry()
      Returns the registry URL.
      static java.lang.String[] getSearchableRegistries​(EndpointSet regtapEndpointSet)
      Queries a given registry for searchable registries suitable for use with this class.
      java.lang.String getText()
      Returns the query text.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • GAVO_REG

        public static final java.lang.String GAVO_REG
        TAP endpoint for high-availablity GAVO registry (DNS pointer).
        See Also:
        Constant Field Values
      • ARI_REG

        public static final java.lang.String ARI_REG
        TAP endpoint for GAVO registry hosted at ARI Heidelberg.
        See Also:
        Constant Field Values
      • AIP_REG

        public static final java.lang.String AIP_REG
        TAP endpoint for GAVO registry hosted at AIP.
        See Also:
        Constant Field Values
      • PARIS_REG

        public static final java.lang.String PARIS_REG
        TAP endpoint for registry hosted at ObsPM, synced with GAVO.
        See Also:
        Constant Field Values
      • EUROVO_REG

        public static final java.lang.String EUROVO_REG
        TAP endpoint for Euro-VO registry, currently hosted at ESAC.
        See Also:
        Constant Field Values
      • STSCI_REG

        public static final java.lang.String STSCI_REG
        TAP endpoint for STScI/VAO registry.
        See Also:
        Constant Field Values
      • INAF_REG

        public static final java.lang.String INAF_REG
        TAP endpoint for INAF registry (not sure if this is permanent).
        See Also:
        Constant Field Values
      • REGISTRIES

        public static final java.lang.String[] REGISTRIES
        List of known registry TAP endpoints.
      • REGISTRY_INFO

        public static final uk.ac.starlink.table.ValueInfo REGISTRY_INFO
        Description of metadata item describing registry location.
      • ADQL_INFO

        public static final uk.ac.starlink.table.ValueInfo ADQL_INFO
        Description of metadata item describing query text.
    • Constructor Detail

      • RegTapRegistryQuery

        public RegTapRegistryQuery​(EndpointSet tapEndpointSet,
                                   java.lang.String standardId,
                                   java.lang.String adqlWhere)
        Constructs a query which will return RegResource lists for registry resource records with two optional restrictions: (a) restricted to a given service type, and (b) restricted by some free-form ADQL. The supplied adqlWhere text has to be written with some knowledge of the internals of this class, for instance what columns are available.
        Parameters:
        tapEndpointSet - TAP endpoints for service hosting relational registry
        standardId - required value of RR standard_id field, or null if not resricted by service
        adqlWhere - text to be ANDed with existing ADQL WHERE clause, or null for no further restriction
    • Method Detail

      • getMetadata

        public uk.ac.starlink.table.DescribedValue[] getMetadata()
        Description copied from interface: RegistryQuery
        Returns a set of DescribedValue objects which characterise this query. These would be suitable for use in the parameter list of a StarTable resulting from the execution of this query.
        Specified by:
        getMetadata in interface RegistryQuery
      • getRegistry

        public java.net.URL getRegistry()
        Description copied from interface: RegistryQuery
        Returns the registry URL.
        Specified by:
        getRegistry in interface RegistryQuery
        Returns:
        url
      • getText

        public java.lang.String getText()
        Description copied from interface: RegistryQuery
        Returns the query text.
        Specified by:
        getText in interface RegistryQuery
        Returns:
        query
      • getQueryResources

        public RegResource[] getQueryResources()
                                        throws java.io.IOException
        Description copied from interface: RegistryQuery
        Executes the query described by this object and returns the result as an array of RegResources.
        Specified by:
        getQueryResources in interface RegistryQuery
        Returns:
        resource list
        Throws:
        java.io.IOException
      • getQueryIterator

        public java.util.Iterator<RegResource> getQueryIterator()
                                                         throws java.io.IOException
        Description copied from interface: RegistryQuery
        Executes the query described by this object and returns an Iterator over RegResource objects. Note that the iterator's next method may throw the unchecked exception RegistryQueryException with a cause indicating the underlying error in case of a registry access problem.
        Specified by:
        getQueryIterator in interface RegistryQuery
        Returns:
        iterator over RegResources
        Throws:
        java.io.IOException
      • getAdqlCondition

        public static java.lang.String getAdqlCondition​(ResourceField field,
                                                        java.lang.String keyword)
        Returns text that can be used as part of a WHERE clause to supply to this class that tests for a keyword in a given RR field. The nature of the test (=, LIKE etc) depends on the field. If no suitable ADQL can be written, null is returned

        Note that this code currently works by identifying known ResourceFields, so unknown ResourceFields will return null.

        Parameters:
        field - field whose content is to be tested
        keyword - value to test against
        Returns:
        ADQL snippet that may be inserted into WHERE clause, or null if it can't be done
      • getSearchableRegistries

        public static java.lang.String[] getSearchableRegistries​(EndpointSet regtapEndpointSet)
                                                          throws java.io.IOException
        Queries a given registry for searchable registries suitable for use with this class.
        Parameters:
        regtapEndpointSet - TAP endpoints for bootstrap relational registry
        Returns:
        list of TAP endpoints for found relational registries
        Throws:
        java.io.IOException