# Class TapSchemaMetadataHolder

java.lang.Object
uk.ac.starlink.ttools.taplint.TapSchemaMetadataHolder

All Implemented Interfaces:
  `MetadataHolder`

public class TapSchemaMetadataHolder extends Object implements MetadataHolder
MetadataHolder implementation which supplies metadata based on the assumed (mandated) form of the TAP_SCHEMA tables which a TAP service is required to supply.

Since:
  28 Jun 2011
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`TapSchemaMetadataHolder()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`uk.ac.starlink.vo.SchemaMeta[]`
`getTableMetadata()`
Returns the table metadata which will be used to frame example ADQL queries.
`boolean`
`hasDetail()`
Indicates whether the TableMeta objects in the metadata tree contained by this object are expected to contain column and foreign key metadata.
`void`
`setReporter(Reporter reporter)`
Sets the reporter for this object.

### Methods inherited from class Object

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

## Constructor Details

### TapSchemaMetadataHolder

public TapSchemaMetadataHolder()
Constructor.

## Method Details

### setReporter

public void setReporter(Reporter reporter)
Sets the reporter for this object.

Parameters:
  `reporter` - destination for validation messages

### getTableMetadata

public uk.ac.starlink.vo.SchemaMeta[] getTableMetadata()
Description copied from interface: `MetadataHolder`
Returns the table metadata which will be used to frame example ADQL queries. The returned objects should be fully populated (table and column lists in place, rather than needing further read operations).

Specified by:
  `getTableMetadata` in interface `MetadataHolder`
Returns:
  tableset schema metadata array

### hasDetail

public boolean hasDetail()
Description copied from interface: `MetadataHolder`
Indicates whether the TableMeta objects in the metadata tree contained by this object are expected to contain column and foreign key metadata.

Specified by:
  `hasDetail` in interface `MetadataHolder`
Returns:
  true if TableMetas are populated with ColumnMeta and ForeignMeta arrays where appropriate; false if those have been omitted