Class VizierTapMetaReader

  • All Implemented Interfaces:
    TapMetaReader

    public class VizierTapMetaReader
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      VizierTapMetaReader​(java.net.URL tablesetUrl, MetaNameFixer fixer, uk.ac.starlink.util.ContentCoding coding)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getMeans()
      Returns a textual indication of the method or protocol this reader uses to acquire TAP metadata.
      java.lang.String getSource()
      Returns a textual indication of where the metadata is coming from, typically a URL.
      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

      • VizierTapMetaReader

        public VizierTapMetaReader​(java.net.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 Detail

      • readSchemas

        public SchemaMeta[] readSchemas()
                                 throws java.io.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:
        java.io.IOException
      • readColumns

        public ColumnMeta[] readColumns​(TableMeta table)
                                 throws java.io.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:
        java.io.IOException
      • readForeignKeys

        public ForeignMeta[] readForeignKeys​(TableMeta table)
                                      throws java.io.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:
        java.io.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:
        java.lang.UnsupportedOperationException
      • getSource

        public java.lang.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 java.lang.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