Class JDBCTableScheme

  • All Implemented Interfaces:
    Documented, TableScheme

    public class JDBCTableScheme
    extends java.lang.Object
    implements TableScheme, Documented
    TableScheme for intepreting JDBC-type URLs. The full specification ("jdbc:..." - no leading colon) is a JDBC URL as used by the JDBC system.

    For historical reasons, the JDBCAuthenticator used by this scheme is managed by an associated StarTableFactory, which must be supplied at construction time.

    Since:
    20 Jul 2020
    Author:
    Mark Taylor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      StarTable createTable​(java.lang.String spec)
      Turns a scheme-specific specification into a table.
      java.lang.String getExampleSpecification()
      Returns a scheme-specific specification string suitable for use in examples.
      java.lang.String getSchemeName()
      Returns the name of this scheme.
      java.lang.String getSchemeUsage()
      Returns a short, plain-text usage string.
      java.lang.String getXmlDescription()
      Returns user-directed documentation in XML format.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JDBCTableScheme

        public JDBCTableScheme​(StarTableFactory tfact)
        Constructor.
        Parameters:
        tfact - table factory
    • Method Detail

      • getSchemeName

        public java.lang.String getSchemeName()
        Description copied from interface: TableScheme
        Returns the name of this scheme. This string must be alphanumeric and should be short. It will be used between the colons in a table specification.
        Specified by:
        getSchemeName in interface TableScheme
        Returns:
        scheme name
      • getSchemeUsage

        public java.lang.String getSchemeUsage()
        Description copied from interface: TableScheme
        Returns a short, plain-text usage string. This should just represent the legal syntax for the specification string.
        Specified by:
        getSchemeUsage in interface TableScheme
        Returns:
        usage syntax
      • getExampleSpecification

        public java.lang.String getExampleSpecification()
        Description copied from interface: TableScheme
        Returns a scheme-specific specification string suitable for use in examples. It should return a table short enough to appear in textual documentation. If no suitable example is available, null may be returned.
        Specified by:
        getExampleSpecification in interface TableScheme
        Returns:
        scheme-specific specification (scheme name part not included), or null
      • getXmlDescription

        public java.lang.String getXmlDescription()
        Description copied from interface: Documented
        Returns user-directed documentation in XML format.

        The output should be a sequence of one or more <P> elements, using XHTML-like XML. Since rendering may be done in a number of contexts however, use of the full range of XHTML elements is discouraged. Where possible, the content should stick to simple markup such as the elements P, A, UL, OL, LI, DL, DT, DD EM, STRONG, I, B, CODE, TT, PRE.

        Specified by:
        getXmlDescription in interface Documented
        Returns:
        XML description of this object
      • createTable

        public StarTable createTable​(java.lang.String spec)
                              throws java.io.IOException
        Description copied from interface: TableScheme
        Turns a scheme-specific specification into a table. In case of any error, an exception should be thrown.
        Specified by:
        createTable in interface TableScheme
        Parameters:
        spec - scheme-specific table specification (scheme name part is not included)
        Returns:
        created table, not null
        Throws:
        TableFormatException - if the format of the specification is syntactically incorrect (will typically provoke an error containing the schemeUsage string)
        java.io.IOException - if there is some other error in creating the table