Package uk.ac.starlink.vo

## Class AuxServiceFinder

- java.lang.Object
- - uk.ac.starlink.vo.AuxServiceFinder

- All Implemented Interfaces:
    `TapServiceFinder`

      public class AuxServiceFinder
      extends java.lang.Object
      implements TapServiceFinder

  TapServiceFinder implementation that uses the IVOA Registry along with an "auxiliary" labelling of tableset resources. This is a version of the scheme proposed by Markus Demleitner's IVOA Note "Discovering Data Collections Within Services", version 1.1.
  Since:
    6 Aug 2015
  Author:
    Mark Taylor
  See Also:
    Discovering Data Collections Within Services

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface uk.ac.starlink.vo.TapServiceFinder

      `TapServiceFinder.Constraint, TapServiceFinder.Service, TapServiceFinder.Table, TapServiceFinder.Target`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AuxServiceFinder()` | Constructs a default instance.
    `AuxServiceFinder​(TapService regtapService, uk.ac.starlink.util.ContentCoding coding)` | Constructs an instance with custom configuration.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TapServiceFinder.Service[]` | `readAllServices()` | Reads basic metadata about all known TAP services.
    `TapServiceFinder.Table[]` | `readSelectedTables​(TapServiceFinder.Constraint constraint)` | Locates a list of tables from a global list of all known tables served by all known TAP services that satisfy a given constraint.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AuxServiceFinder

          public AuxServiceFinder()

      Constructs a default instance.

    - #### AuxServiceFinder

          public AuxServiceFinder​(TapService regtapService,
                                  uk.ac.starlink.util.ContentCoding coding)

      Constructs an instance with custom configuration.
      Parameters:
        `regtapService` - RegTAP service description
        `coding` - controls HTTP-level compression during TAP queries

  - ### Method Detail

    - #### readAllServices

          public TapServiceFinder.Service[] readAllServices()
                                                     throws java.io.IOException

      Description copied from interface: `TapServiceFinder`
      Reads basic metadata about all known TAP services. May be slow.
      Specified by:
        `readAllServices` in interface `TapServiceFinder`
      Returns:
        list of TAP services
      Throws:
        `java.io.IOException`

    - #### readSelectedTables

          public TapServiceFinder.Table[] readSelectedTables​(TapServiceFinder.Constraint constraint)
                                                      throws java.io.IOException

      Description copied from interface: `TapServiceFinder`
      Locates a list of tables from a global list of all known tables served by all known TAP services that satisfy a given constraint.
      Specified by:
        `readSelectedTables` in interface `TapServiceFinder`
      Parameters:
        `constraint` - object indicating the tables of interest
      Returns:
        list of tables matching constraint
      Throws:
        `java.io.IOException`