Class SaxonXQMetaData

  • All Implemented Interfaces:
    XQMetaData

    public class SaxonXQMetaData
    extends java.lang.Object
    implements XQMetaData
    Saxon implementation of the XQMetaData interface
    • Constructor Detail

      • SaxonXQMetaData

        public SaxonXQMetaData​(SaxonXQConnection connection)
        Create the metadata for a given Saxon configuration
        Parameters:
        connection - the Saxon connection
    • Method Detail

      • getMaxExpressionLength

        public int getMaxExpressionLength()
                                   throws XQException
        Description copied from interface: XQMetaData
        Gets the maximum number of characters allowed in an expression in this data source.
        Specified by:
        getMaxExpressionLength in interface XQMetaData
        Returns:
        the maximum length of expression as an integer. A zero value means that there is no limit or the limit is unknown
        Throws:
        XQException - if the connection is no longer valid
      • getMaxUserNameLength

        public int getMaxUserNameLength()
                                 throws XQException
        Description copied from interface: XQMetaData
        Gets the maximum number of characters allowed in a user name.
        Specified by:
        getMaxUserNameLength in interface XQMetaData
        Returns:
        the maximum length of user name as an integer. A zero value means that there is no limit or the limit is unknown
        Throws:
        XQException - if the connection is no longer valid
      • getProductMajorVersion

        public int getProductMajorVersion()
                                   throws XQException
        Description copied from interface: XQMetaData
        Gets the major version of this product.
        Specified by:
        getProductMajorVersion in interface XQMetaData
        Returns:
        a integer indicating the major version of this product
        Throws:
        XQException - if the connection is no longer valid
      • getProductMinorVersion

        public int getProductMinorVersion()
                                   throws XQException
        Description copied from interface: XQMetaData
        Gets the minor version of this product.
        Specified by:
        getProductMinorVersion in interface XQMetaData
        Returns:
        a integer indicating the minor version of this product
        Throws:
        XQException - if the connection is no longer valid
      • getProductName

        public java.lang.String getProductName()
                                        throws XQException
        Description copied from interface: XQMetaData
        Gets the name of this product. The value of string returned by this method is implementation-defined.
        Specified by:
        getProductName in interface XQMetaData
        Returns:
        a string indicating the product name
        Throws:
        XQException - if the connection is no longer valid
      • getProductVersion

        public java.lang.String getProductVersion()
                                           throws XQException
        Description copied from interface: XQMetaData
        Gets the full version of this product. The format and value of the string returned by this method is implementation-defined.
        Specified by:
        getProductVersion in interface XQMetaData
        Returns:
        a string indicating the product version
        Throws:
        XQException - if the connection is no longer valid
      • getSupportedXQueryEncodings

        public java.util.Set getSupportedXQueryEncodings()
                                                  throws XQException
        Description copied from interface: XQMetaData
        Returns a set of java.lang.String, each of which specifies a character encoding method the XQJ implmentation supports to parse the XQuery query text.

        For an example, for an XQJ impmentation which is able to parse the XQuery encoded in "UTF-8" or "UTF-16", it returns a java.util.Set of "UTF-8" and "UTF-16".

        If the implemetation is not able to generate a list of encodings supported, an empty set is returned. If a non-empty set is returned, the encodings returned in this set are guaranteed to be supported. Note that encodings not in the returned set might also be supported. For example, if the set has two encoding methods: 'UTF-8' and 'UTF-16', they are supported by the implementation. However, this does not mean 'Shift-Js' is not supported. It might be supported.

        Specified by:
        getSupportedXQueryEncodings in interface XQMetaData
        Returns:
        a java.util.Set of java.lang.String, each of which is an XQuery query text encoding method
        Throws:
        XQException - if the connection is no longer valid
      • getUserName

        public java.lang.String getUserName()
                                     throws XQException
        Description copied from interface: XQMetaData
        Gets the user name associated with this connection.
        Specified by:
        getUserName in interface XQMetaData
        Returns:
        the user's name
        Throws:
        XQException - if the connection is no longer valid
      • getXQJMajorVersion

        public int getXQJMajorVersion()
                               throws XQException
        Description copied from interface: XQMetaData
        Gets the major version number of XQJ specification supported by this implementation.
        Specified by:
        getXQJMajorVersion in interface XQMetaData
        Returns:
        an integer indicating the XQJ major version
        Throws:
        XQException - if the connection is no longer valid
      • getXQJMinorVersion

        public int getXQJMinorVersion()
                               throws XQException
        Description copied from interface: XQMetaData
        Gets the minor version number of XQJ specification supported by this implementation.
        Specified by:
        getXQJMinorVersion in interface XQMetaData
        Returns:
        an integer indicating the XQJ minor version
        Throws:
        XQException - if the connection is no longer valid
      • getXQJVersion

        public java.lang.String getXQJVersion()
                                       throws XQException
        Description copied from interface: XQMetaData
        Gets the full version of XQJ specification supported by this implementation.
        Specified by:
        getXQJVersion in interface XQMetaData
        Returns:
        a string indicating the version of XQJ specification
        Throws:
        XQException - if the connection is no longer valid
      • isFullAxisFeatureSupported

        public boolean isFullAxisFeatureSupported()
                                           throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery full axis feature is supported in this connection.
        Specified by:
        isFullAxisFeatureSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isModuleFeatureSupported

        public boolean isModuleFeatureSupported()
                                         throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery module feature is supported in this connection.
        Specified by:
        isModuleFeatureSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isReadOnly

        public boolean isReadOnly()
                           throws XQException
        Description copied from interface: XQMetaData
        Query if the associated conection is restricted for read only use.
        Specified by:
        isReadOnly in interface XQMetaData
        Returns:
        true if the associated connection is for read-only; false otherwise
        Throws:
        XQException - if the connection is no longer valid
      • isSchemaImportFeatureSupported

        public boolean isSchemaImportFeatureSupported()
                                               throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery schema import feature is supported in this connection.
        Specified by:
        isSchemaImportFeatureSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isSchemaValidationFeatureSupported

        public boolean isSchemaValidationFeatureSupported()
                                                   throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery schema validation feature is supported in this connection.
        Specified by:
        isSchemaValidationFeatureSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isSerializationFeatureSupported

        public boolean isSerializationFeatureSupported()
                                                throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery serialization feature is supported in this connection.
        Specified by:
        isSerializationFeatureSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isStaticTypingExtensionsSupported

        public boolean isStaticTypingExtensionsSupported()
                                                  throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery static typing extensions are supported in this connection.
        Specified by:
        isStaticTypingExtensionsSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isStaticTypingFeatureSupported

        public boolean isStaticTypingFeatureSupported()
                                               throws XQException
        Description copied from interface: XQMetaData
        Query if XQuery static typing feature is supported in this data source.
        Specified by:
        isStaticTypingFeatureSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isTransactionSupported

        public boolean isTransactionSupported()
                                       throws XQException
        Description copied from interface: XQMetaData
        Query if transaction is supported in this data source.
        Specified by:
        isTransactionSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • isUserDefinedXMLSchemaTypeSupported

        public boolean isUserDefinedXMLSchemaTypeSupported()
                                                    throws XQException
        Description copied from interface: XQMetaData
        Check if the user defined XML schema type is supported in this connection. If this method returns true, then XQItemAccessor.instanceOf(XQItemType) must be able to determine if the type of an XQItemAccessor is an instance of the XQItemType even if either of them is a user defined XML schema type which is defined by the non-predefined XML schema. The pre-defined XML Schema refers to the XML schema whose schema URL is "http://www.w3.org/2001/XMLSchema"
        Specified by:
        isUserDefinedXMLSchemaTypeSupported in interface XQMetaData
        Returns:
        true if the user defined XML schema type is supported in this connection, false otherwise.
        Throws:
        XQException - if the connection is no longer valid
      • isXQueryEncodingDeclSupported

        public boolean isXQueryEncodingDeclSupported()
                                              throws XQException
        Description copied from interface: XQMetaData
        Query if the XQuery encoding declaration is supported by the XQJ implementation.
        Specified by:
        isXQueryEncodingDeclSupported in interface XQMetaData
        Returns:
        true if the XQuery encoding declaration is supported; false otherwise
        Throws:
        XQException - if the connection is no longer valid
      • isXQueryEncodingSupported

        public boolean isXQueryEncodingSupported​(java.lang.String encoding)
                                          throws XQException
        Description copied from interface: XQMetaData
        Query if a character encoding method of the XQuery query text is supported by the XQJ implmentation.
        Specified by:
        isXQueryEncodingSupported in interface XQMetaData
        Parameters:
        encoding - String representing the character encoding method of the XQuery query text.
        Returns:
        true if an XQuery query character encoding method is supported, false otherwise
        Throws:
        XQException - if (1) the connection is no longer valid, or (2) the specified encoding parameter is null
      • isXQueryXSupported

        public boolean isXQueryXSupported()
                                   throws XQException
        Description copied from interface: XQMetaData
        Query if XQueryX format is supported in this data source.
        Specified by:
        isXQueryXSupported in interface XQMetaData
        Returns:
        true if so; otherwise false
        Throws:
        XQException - if the connection is no longer valid
      • wasCreatedFromJDBCConnection

        public boolean wasCreatedFromJDBCConnection()
                                             throws XQException
        Description copied from interface: XQMetaData
        Query if this connection was created from a JDBC connection.
        Specified by:
        wasCreatedFromJDBCConnection in interface XQMetaData
        Returns:
        true, if this connection was created from a JDBC connection, false otherwise.
        Throws:
        XQException - if the connection is no longer valid