uk.ac.starlink.vo
Class TapSchemaTapMetaReader

java.lang.Object
  extended by uk.ac.starlink.vo.TapSchemaTapMetaReader
All Implemented Interfaces:
TapMetaReader

public class TapSchemaTapMetaReader
extends Object
implements TapMetaReader

TapMetaReader implementation that uses TAP queries on the TAP_SCHEMA schema to acquire table metadata.

Since:
18 Mar 2015
Author:
Mark Taylor

Constructor Summary
TapSchemaTapMetaReader(String serviceUrl, int maxrec, boolean populateSchemas, boolean populateTables)
          Constructor.
 
Method Summary
 String getSource()
          Returns a textual indication of where the metadata is coming from.
 ColumnMeta[] readColumns(TableMeta table)
          Acquires metadata about columns in a given table from a TAP service.
 ForeignMeta[] readForeignKeys(TableMeta table)
          Acquires metadata about foreign keys in a given table from a TAP service.
 SchemaMeta[] readSchemas()
          Acquires metadata about schemas in a TAP service.
 TableMeta[] readTables(SchemaMeta schema)
          Acquires metadata about tables in a given schema from a TAP service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TapSchemaTapMetaReader

public TapSchemaTapMetaReader(String serviceUrl,
                              int maxrec,
                              boolean populateSchemas,
                              boolean populateTables)
Constructor.

Parameters:
serviceUrl - TAP service URL
maxrec - maximum number of records to be requested at once
populateSchemas - whether SchemaMeta objects will be filled in with table lists when they are acquired
populateTables - whether TableMeta objects will be filled in with column and foreign key lists when they are acquired
Method Detail

getSource

public String getSource()
Description copied from interface: TapMetaReader
Returns a textual indication of where the metadata is coming from. Intended for presentation to the user.

Specified by:
getSource in interface TapMetaReader
Returns:
short description of metadata source

readSchemas

public SchemaMeta[] readSchemas()
                         throws IOException
Description copied from interface: TapMetaReader
Acquires metadata about schemas in a TAP service.

May be slow.

Specified by:
readSchemas in interface TapMetaReader
Returns:
schema metadata array
Throws:
IOException

readTables

public TableMeta[] readTables(SchemaMeta schema)
                       throws IOException
Description copied from interface: TapMetaReader
Acquires metadata about tables in a given schema from a TAP service.

May be slow. May throw UnsupportedOperationException if not needed.

Specified by:
readTables in interface TapMetaReader
Parameters:
schema - schema containing tables; not altered by call
Returns:
table metadata array
Throws:
IOException

readColumns

public ColumnMeta[] readColumns(TableMeta table)
                         throws IOException
Description copied from interface: TapMetaReader
Acquires metadata about columns in a given table from a TAP service.

May be slow. May throw UnsupportedOperationException if not needed.

Specified by:
readColumns in interface TapMetaReader
Parameters:
table - table containing columns; not altered by call
Returns:
column metadata array
Throws:
IOException

readForeignKeys

public ForeignMeta[] readForeignKeys(TableMeta table)
                              throws IOException
Description copied from interface: TapMetaReader
Acquires metadata about foreign keys in a given table from a TAP service.

May be slow. May throw UnsupportedOperationException if not needed.

Specified by:
readForeignKeys in interface TapMetaReader
Parameters:
table - table containing columns; not altered by call
Returns:
foreign key metadata array
Throws:
IOException


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.