Class VizierTapMetaReader

java.lang.Object
uk.ac.starlink.vo.VizierTapMetaReader
All Implemented Interfaces:
TapMetaReader

public class VizierTapMetaReader extends Object implements TapMetaReader
TapMetaReader implementation that works with VizieR's non-standard tableset endpoint. The /tables endpoint gives you table-less schemas, and you can get the table documents by appending the table name to the tables URL. Details of what's quoted when seem to be in flux at time of writing, so the implementation may need adjustment.
Since:
14 May 2015
Author:
Mark Taylor
  • Constructor Details

    • VizierTapMetaReader

      public VizierTapMetaReader(URL tablesetUrl, MetaNameFixer fixer, uk.ac.starlink.util.ContentCoding coding)
      Constructor.
      Parameters:
      tablesetUrl - URL of TAPVizieR service followed by /tables
      fixer - object that fixes up syntactically incorrect table/column names; if null no fixing is done; has no effect for compliant VODataService documents
      coding - configures HTTP content-coding
  • Method Details

    • 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
    • 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
    • readTables

      public TableMeta[] readTables(SchemaMeta schema)
      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:
      UnsupportedOperationException - always
    • getSource

      public String getSource()
      Description copied from interface: TapMetaReader
      Returns a textual indication of where the metadata is coming from, typically a URL.
      Specified by:
      getSource in interface TapMetaReader
      Returns:
      address of metadata
    • getMeans

      public String getMeans()
      Description copied from interface: TapMetaReader
      Returns a textual indication of the method or protocol this reader uses to acquire TAP metadata.
      Specified by:
      getMeans in interface TapMetaReader
      Returns:
      short description of metadata acquisition method