# Interface TapServiceFinder

All Known Implementing Classes:
  `AuxServiceFinder, GlotsServiceFinder, Regtap12ServiceFinder`

public interface TapServiceFinder
Defines an object that can make global queries (from the registry or some registry-like entity) about all TAP services and tables satisfying certain constraints.

This interface defines a couple of methods that implementations must implement, and a number of interfaces defining parameter and return types used by those methods.

Since:
  30 Jun 2015
Author:
  Mark Taylor

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static interface`
`TapServiceFinder.Constraint`
Describes constraints on tables to be found by a certain query.
`static interface`
`TapServiceFinder.Service`
Basic metadata describing a TAP service.
`static interface`
`TapServiceFinder.Table`
Basic metadata describing a table provided by a TAP service.
`static enum`
`TapServiceFinder.Target`
Enumerates those metadata items against which search terms can be matched.

## Method Summary

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.

## Method Details

### readAllServices

TapServiceFinder.Service[] readAllServices() throws IOException
Reads basic metadata about all known TAP services. May be slow.

Returns:
  list of TAP services
Throws:
  `IOException`

### readSelectedTables

TapServiceFinder.Table[] readSelectedTables(TapServiceFinder.Constraint constraint) throws IOException
Locates a list of tables from a global list of all known tables served by all known TAP services that satisfy a given constraint.

Parameters:
  `constraint` - object indicating the tables of interest
Returns:
  list of tables matching constraint
Throws:
  `IOException`