Package com.saxonica.xqj
Class SaxonXQMetaData
- java.lang.Object
-
- com.saxonica.xqj.SaxonXQMetaData
-
- All Implemented Interfaces:
XQMetaData
public class SaxonXQMetaData extends java.lang.Object implements XQMetaData
Saxon implementation of the XQMetaData interface
-
-
Constructor Summary
Constructors Constructor Description SaxonXQMetaData(SaxonXQConnection connection)Create the metadata for a given Saxon configuration
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetMaxExpressionLength()Gets the maximum number of characters allowed in an expression in this data source.intgetMaxUserNameLength()Gets the maximum number of characters allowed in a user name.intgetProductMajorVersion()Gets the major version of this product.intgetProductMinorVersion()Gets the minor version of this product.java.lang.StringgetProductName()Gets the name of this product.java.lang.StringgetProductVersion()Gets the full version of this product.java.util.SetgetSupportedXQueryEncodings()Returns a set ofjava.lang.String, each of which specifies a character encoding method the XQJ implmentation supports to parse the XQuery query text.java.lang.StringgetUserName()Gets the user name associated with this connection.intgetXQJMajorVersion()Gets the major version number of XQJ specification supported by this implementation.intgetXQJMinorVersion()Gets the minor version number of XQJ specification supported by this implementation.java.lang.StringgetXQJVersion()Gets the full version of XQJ specification supported by this implementation.booleanisFullAxisFeatureSupported()Query if XQuery full axis feature is supported in this connection.booleanisModuleFeatureSupported()Query if XQuery module feature is supported in this connection.booleanisReadOnly()Query if the associated conection is restricted for read only use.booleanisSchemaImportFeatureSupported()Query if XQuery schema import feature is supported in this connection.booleanisSchemaValidationFeatureSupported()Query if XQuery schema validation feature is supported in this connection.booleanisSerializationFeatureSupported()Query if XQuery serialization feature is supported in this connection.booleanisStaticTypingExtensionsSupported()Query if XQuery static typing extensions are supported in this connection.booleanisStaticTypingFeatureSupported()Query if XQuery static typing feature is supported in this data source.booleanisTransactionSupported()Query if transaction is supported in this data source.booleanisUserDefinedXMLSchemaTypeSupported()Check if the user defined XML schema type is supported in this connection.booleanisXQueryEncodingDeclSupported()Query if the XQuery encoding declaration is supported by the XQJ implementation.booleanisXQueryEncodingSupported(java.lang.String encoding)Query if a character encoding method of the XQuery query text is supported by the XQJ implmentation.booleanisXQueryXSupported()Query if XQueryX format is supported in this data source.booleanwasCreatedFromJDBCConnection()Query if this connection was created from a JDBC connection.
-
-
-
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 XQExceptionDescription copied from interface:XQMetaDataGets the maximum number of characters allowed in an expression in this data source.- Specified by:
getMaxExpressionLengthin interfaceXQMetaData- 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 XQExceptionDescription copied from interface:XQMetaDataGets the maximum number of characters allowed in a user name.- Specified by:
getMaxUserNameLengthin interfaceXQMetaData- 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 XQExceptionDescription copied from interface:XQMetaDataGets the major version of this product.- Specified by:
getProductMajorVersionin interfaceXQMetaData- Returns:
- a integer indicating the major version of this product
- Throws:
XQException- if the connection is no longer valid
-
getProductMinorVersion
public int getProductMinorVersion() throws XQExceptionDescription copied from interface:XQMetaDataGets the minor version of this product.- Specified by:
getProductMinorVersionin interfaceXQMetaData- 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 XQExceptionDescription copied from interface:XQMetaDataGets the name of this product. The value of string returned by this method is implementation-defined.- Specified by:
getProductNamein interfaceXQMetaData- Returns:
- a string indicating the product name
- Throws:
XQException- if the connection is no longer valid
-
getProductVersion
public java.lang.String getProductVersion() throws XQExceptionDescription copied from interface:XQMetaDataGets the full version of this product. The format and value of the string returned by this method is implementation-defined.- Specified by:
getProductVersionin interfaceXQMetaData- Returns:
- a string indicating the product version
- Throws:
XQException- if the connection is no longer valid
-
getSupportedXQueryEncodings
public java.util.Set getSupportedXQueryEncodings() throws XQExceptionDescription copied from interface:XQMetaDataReturns a set ofjava.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 ajava.util.Setof "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:
getSupportedXQueryEncodingsin interfaceXQMetaData- Returns:
- a
java.util.Setofjava.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 XQExceptionDescription copied from interface:XQMetaDataGets the user name associated with this connection.- Specified by:
getUserNamein interfaceXQMetaData- Returns:
- the user's name
- Throws:
XQException- if the connection is no longer valid
-
getXQJMajorVersion
public int getXQJMajorVersion() throws XQExceptionDescription copied from interface:XQMetaDataGets the major version number of XQJ specification supported by this implementation.- Specified by:
getXQJMajorVersionin interfaceXQMetaData- Returns:
- an integer indicating the XQJ major version
- Throws:
XQException- if the connection is no longer valid
-
getXQJMinorVersion
public int getXQJMinorVersion() throws XQExceptionDescription copied from interface:XQMetaDataGets the minor version number of XQJ specification supported by this implementation.- Specified by:
getXQJMinorVersionin interfaceXQMetaData- Returns:
- an integer indicating the XQJ minor version
- Throws:
XQException- if the connection is no longer valid
-
getXQJVersion
public java.lang.String getXQJVersion() throws XQExceptionDescription copied from interface:XQMetaDataGets the full version of XQJ specification supported by this implementation.- Specified by:
getXQJVersionin interfaceXQMetaData- Returns:
- a string indicating the version of XQJ specification
- Throws:
XQException- if the connection is no longer valid
-
isFullAxisFeatureSupported
public boolean isFullAxisFeatureSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery full axis feature is supported in this connection.- Specified by:
isFullAxisFeatureSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isModuleFeatureSupported
public boolean isModuleFeatureSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery module feature is supported in this connection.- Specified by:
isModuleFeatureSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isReadOnly
public boolean isReadOnly() throws XQExceptionDescription copied from interface:XQMetaDataQuery if the associated conection is restricted for read only use.- Specified by:
isReadOnlyin interfaceXQMetaData- Returns:
trueif the associated connection is for read-only;falseotherwise- Throws:
XQException- if the connection is no longer valid
-
isSchemaImportFeatureSupported
public boolean isSchemaImportFeatureSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery schema import feature is supported in this connection.- Specified by:
isSchemaImportFeatureSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isSchemaValidationFeatureSupported
public boolean isSchemaValidationFeatureSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery schema validation feature is supported in this connection.- Specified by:
isSchemaValidationFeatureSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isSerializationFeatureSupported
public boolean isSerializationFeatureSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery serialization feature is supported in this connection.- Specified by:
isSerializationFeatureSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isStaticTypingExtensionsSupported
public boolean isStaticTypingExtensionsSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery static typing extensions are supported in this connection.- Specified by:
isStaticTypingExtensionsSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isStaticTypingFeatureSupported
public boolean isStaticTypingFeatureSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQuery static typing feature is supported in this data source.- Specified by:
isStaticTypingFeatureSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isTransactionSupported
public boolean isTransactionSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if transaction is supported in this data source.- Specified by:
isTransactionSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
isUserDefinedXMLSchemaTypeSupported
public boolean isUserDefinedXMLSchemaTypeSupported() throws XQExceptionDescription copied from interface:XQMetaDataCheck if the user defined XML schema type is supported in this connection. If this method returnstrue, thenXQItemAccessor.instanceOf(XQItemType)must be able to determine if the type of anXQItemAccessoris an instance of theXQItemTypeeven 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:
isUserDefinedXMLSchemaTypeSupportedin interfaceXQMetaData- Returns:
trueif the user defined XML schema type is supported in this connection,falseotherwise.- Throws:
XQException- if the connection is no longer valid
-
isXQueryEncodingDeclSupported
public boolean isXQueryEncodingDeclSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if the XQuery encoding declaration is supported by the XQJ implementation.- Specified by:
isXQueryEncodingDeclSupportedin interfaceXQMetaData- Returns:
trueif the XQuery encoding declaration is supported;falseotherwise- Throws:
XQException- if the connection is no longer valid
-
isXQueryEncodingSupported
public boolean isXQueryEncodingSupported(java.lang.String encoding) throws XQExceptionDescription copied from interface:XQMetaDataQuery if a character encoding method of the XQuery query text is supported by the XQJ implmentation.- Specified by:
isXQueryEncodingSupportedin interfaceXQMetaData- Parameters:
encoding-Stringrepresenting the character encoding method of the XQuery query text.- Returns:
trueif an XQuery query character encoding method is supported,falseotherwise- Throws:
XQException- if (1) the connection is no longer valid, or (2) the specifiedencodingparameter isnull
-
isXQueryXSupported
public boolean isXQueryXSupported() throws XQExceptionDescription copied from interface:XQMetaDataQuery if XQueryX format is supported in this data source.- Specified by:
isXQueryXSupportedin interfaceXQMetaData- Returns:
trueif so; otherwisefalse- Throws:
XQException- if the connection is no longer valid
-
wasCreatedFromJDBCConnection
public boolean wasCreatedFromJDBCConnection() throws XQExceptionDescription copied from interface:XQMetaDataQuery if this connection was created from a JDBC connection.- Specified by:
wasCreatedFromJDBCConnectionin interfaceXQMetaData- Returns:
true, if this connection was created from a JDBC connection,falseotherwise.- Throws:
XQException- if the connection is no longer valid
-
-