Package javax.xml.xquery
Interface XQMetaData
- All Known Implementing Classes:
SaxonXQMetaData
public interface XQMetaData
XQMetaData
interface provides information about the data source,
in various aspects, such as the product name and version identification,
supported features, specific behaviors, user information, product limits
and so forth.
An object implementing this interface is obtained from the connection object by calling the
getMetaData()
method, for example:
XQMetaData metaData = connection.getMetaData(); String productVersion = metaData.getProductVersion(); ...Since the metadata object depends on the connection, all its methods would raise an exception if the connection it is created from is no longer valid.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionint
Gets the maximum number of characters allowed in an expression in this data source.int
Gets the maximum number of characters allowed in a user name.int
Gets the major version of this product.int
Gets the minor version of this product.Gets the name of this product.Gets the full version of this product.Returns a set ofjava.lang.String
, each of which specifies a character encoding method the XQJ implmentation supports to parse the XQuery query text.Gets the user name associated with this connection.int
Gets the major version number of XQJ specification supported by this implementation.int
Gets the minor version number of XQJ specification supported by this implementation.Gets the full version of XQJ specification supported by this implementation.boolean
Query if XQuery full axis feature is supported in this connection.boolean
Query if XQuery module feature is supported in this connection.boolean
Query if the associated conection is restricted for read only use.boolean
Query if XQuery schema import feature is supported in this connection.boolean
Query if XQuery schema validation feature is supported in this connection.boolean
Query if XQuery serialization feature is supported in this connection.boolean
Query if XQuery static typing extensions are supported in this connection.boolean
Query if XQuery static typing feature is supported in this data source.boolean
Query if transaction is supported in this data source.boolean
Check if the user defined XML schema type is supported in this connection.boolean
Query if the XQuery encoding declaration is supported by the XQJ implementation.boolean
isXQueryEncodingSupported
(String encoding) Query if a character encoding method of the XQuery query text is supported by the XQJ implmentation.boolean
Query if XQueryX format is supported in this data source.boolean
Query if this connection was created from a JDBC connection.
-
Method Details
-
getProductMajorVersion
Gets the major version of this product.- Returns:
- a integer indicating the major version of this product
- Throws:
XQException
- if the connection is no longer valid
-
getProductMinorVersion
Gets the minor version of this product.- Returns:
- a integer indicating the minor version of this product
- Throws:
XQException
- if the connection is no longer valid
-
getProductName
Gets the name of this product. The value of string returned by this method is implementation-defined.- Returns:
- a string indicating the product name
- Throws:
XQException
- if the connection is no longer valid
-
getProductVersion
Gets the full version of this product. The format and value of the string returned by this method is implementation-defined.- Returns:
- a string indicating the product version
- Throws:
XQException
- if the connection is no longer valid
-
getXQJMajorVersion
Gets the major version number of XQJ specification supported by this implementation.- Returns:
- an integer indicating the XQJ major version
- Throws:
XQException
- if the connection is no longer valid
-
getXQJMinorVersion
Gets the minor version number of XQJ specification supported by this implementation.- Returns:
- an integer indicating the XQJ minor version
- Throws:
XQException
- if the connection is no longer valid
-
getXQJVersion
Gets the full version of XQJ specification supported by this implementation.- Returns:
- a string indicating the version of XQJ specification
- Throws:
XQException
- if the connection is no longer valid
-
isReadOnly
Query if the associated conection is restricted for read only use.- Returns:
true
if the associated connection is for read-only;false
otherwise- Throws:
XQException
- if the connection is no longer valid
-
isXQueryXSupported
Query if XQueryX format is supported in this data source.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isTransactionSupported
Query if transaction is supported in this data source.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isStaticTypingFeatureSupported
Query if XQuery static typing feature is supported in this data source.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isSchemaImportFeatureSupported
Query if XQuery schema import feature is supported in this connection.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isSchemaValidationFeatureSupported
Query if XQuery schema validation feature is supported in this connection.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isFullAxisFeatureSupported
Query if XQuery full axis feature is supported in this connection.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isModuleFeatureSupported
Query if XQuery module feature is supported in this connection.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isSerializationFeatureSupported
Query if XQuery serialization feature is supported in this connection.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
isStaticTypingExtensionsSupported
Query if XQuery static typing extensions are supported in this connection.- Returns:
true
if so; otherwisefalse
- Throws:
XQException
- if the connection is no longer valid
-
getUserName
Gets the user name associated with this connection.- Returns:
- the user's name
- Throws:
XQException
- if the connection is no longer valid
-
getMaxExpressionLength
Gets the maximum number of characters allowed in an expression in this data source.- 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
Gets the maximum number of characters allowed in a user name.- 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
-
wasCreatedFromJDBCConnection
Query if this connection was created from a JDBC connection.- Returns:
true
, if this connection was created from a JDBC connection,false
otherwise.- Throws:
XQException
- if the connection is no longer valid
-
isXQueryEncodingDeclSupported
Query if the XQuery encoding declaration is supported by the XQJ implementation.- Returns:
true
if the XQuery encoding declaration is supported;false
otherwise- Throws:
XQException
- if the connection is no longer valid
-
getSupportedXQueryEncodings
Returns 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 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.
- Returns:
- a
java.util.Set
ofjava.lang.String
, each of which is an XQuery query text encoding method - Throws:
XQException
- if the connection is no longer valid
-
isXQueryEncodingSupported
Query if a character encoding method of the XQuery query text is supported by the XQJ implmentation.- 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 specifiedencoding
parameter isnull
-
isUserDefinedXMLSchemaTypeSupported
Check 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 anXQItemAccessor
is an instance of theXQItemType
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"
- 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
-