# Class TapMetaPolicy

java.lang.Object
uk.ac.starlink.vo.TapMetaPolicy

public abstract class TapMetaPolicy extends Object
Defines the policy for acquiring TAP metadata from a remote service. This is a factory for TapMetaReader objects.

Since:
  25 Mar 2015
Author:
  Mark Taylor

## Field Summary

Fields
Modifier and Type
Field
Description
`static final TapMetaPolicy`
`AUTO`
Tries its best to do something sensible.
`static final TapMetaPolicy`
`TAPSCHEMA`
Uses the TAP_SCHEMA tables, all data loaded at once.
`static final TapMetaPolicy`
`TAPSCHEMA_C`
Uses the TAP_SCHEMA tables, with columns on demand.
`static final TapMetaPolicy`
`TAPSCHEMA_CF`
Uses the TAP_SCHEMA tables, with columns and foreign keys on demand.
`static final TapMetaPolicy`
`VIZIER`
Uses the non-standard VizieR two-level tables endpoint.
`static final TapMetaPolicy`
`VOSI10`
Uses the VOSI 1.0 /tables endpoint.
`static final TapMetaPolicy`
`VOSI11_MAX`
Uses the VOSI 1.1 one-stage (detail=max) /tables endpoint.
`static final TapMetaPolicy`
`VOSI11_MIN`
Uses the VOSI 1.1 two-stage (detail=min) /tables endpoint.
`static final TapMetaPolicy`
`VOSI11_NULL`
Uses the VOSI 1.1 /tables endpoint (backward compatible).

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`TapMetaPolicy(String name, String description)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`abstract TapMetaReader`
`createMetaReader(TapService service, uk.ac.starlink.util.ContentCoding coding)`
Creates an object capable of acquiring TAP metadata for a given TAP service description.
`static TapMetaPolicy`
`getDefaultInstance()`
Returns an instance of this class suitable for general use.
`String`
`getDescription()`
Returns a plain text description of this object.
`String`
`getName()`
Returns the name of this object.
`static TapMetaPolicy[]`
`getStandardInstances()`
Returns a list of some general-purpose concrete implementations of this class.

### Methods inherited from class Object

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

## Field Details

### AUTO

public static final TapMetaPolicy AUTO
Tries its best to do something sensible.

### VOSI10

public static final TapMetaPolicy VOSI10
Uses the VOSI 1.0 /tables endpoint.

### TAPSCHEMA_C

public static final TapMetaPolicy TAPSCHEMA_C
Uses the TAP_SCHEMA tables, with columns on demand.

### TAPSCHEMA_CF

public static final TapMetaPolicy TAPSCHEMA_CF
Uses the TAP_SCHEMA tables, with columns and foreign keys on demand.

### TAPSCHEMA

public static final TapMetaPolicy TAPSCHEMA
Uses the TAP_SCHEMA tables, all data loaded at once.

### VIZIER

public static final TapMetaPolicy VIZIER
Uses the non-standard VizieR two-level tables endpoint.

### VOSI11_MAX

public static final TapMetaPolicy VOSI11_MAX
Uses the VOSI 1.1 one-stage (detail=max) /tables endpoint.

### VOSI11_MIN

public static final TapMetaPolicy VOSI11_MIN
Uses the VOSI 1.1 two-stage (detail=min) /tables endpoint.

### VOSI11_NULL

public static final TapMetaPolicy VOSI11_NULL
Uses the VOSI 1.1 /tables endpoint (backward compatible).

## Constructor Details

### TapMetaPolicy

protected TapMetaPolicy(String name, String description)
Constructor.

Parameters:
  `name` - short name for this instance
  `description` - plain text description of this instance

## Method Details

### getName

public String getName()
Returns the name of this object.

Returns:
  short name

### getDescription

public String getDescription()
Returns a plain text description of this object.

Returns:
  description

### createMetaReader

public abstract TapMetaReader createMetaReader(TapService service, uk.ac.starlink.util.ContentCoding coding)
Creates an object capable of acquiring TAP metadata for a given TAP service description.

Parameters:
  `service` - TAP service description
  `coding` - configures HTTP compression; implementations may honour this hint but are not required to
Returns:
  new metadata reader

### getStandardInstances

public static TapMetaPolicy[] getStandardInstances()
Returns a list of some general-purpose concrete implementations of this class.

Returns:
  list of instances

### getDefaultInstance

public static TapMetaPolicy getDefaultInstance()
Returns an instance of this class suitable for general use.

Returns:
  default instance