Package com.saxonica.xqj
Class SaxonXQStaticContext
- java.lang.Object
-
- com.saxonica.xqj.SaxonXQStaticContext
-
- All Implemented Interfaces:
XQStaticContext
public class SaxonXQStaticContext extends java.lang.Object implements XQStaticContext
Saxon implementation of the XQJ XQStaticContext interface
-
-
Constructor Summary
Constructors Constructor Description SaxonXQStaticContext(SaxonXQStaticContext sc)
Create a SaxonXQStaticContext object as a copy of another SaxonXQStaticContext objectSaxonXQStaticContext(Configuration config)
Create a SaxonXQStaticContext object, the Saxon implementation of XQStaticContext in XQJ
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkNotNull(java.lang.Object arg)
void
declareNamespace(java.lang.String prefix, java.lang.String uri)
Declares a namespace prefix and associates it with a namespace URI.java.lang.String
getBaseURI()
Gets the Base URI, if set in the static context, else the empty string.int
getBindingMode()
Gets the value of the binding mode property.int
getBoundarySpacePolicy()
Gets the boundary-space policy defined in the static context.int
getConstructionMode()
Gets the construction mode defined in the static context.XQItemType
getContextItemStaticType()
Gets the static type of the context item.int
getCopyNamespacesModeInherit()
Gets the inherit part of the copy-namespaces mode defined in the static context.int
getCopyNamespacesModePreserve()
Gets the preserve part of the copy-namespaces mode defined in the static context.java.lang.String
getDefaultCollation()
Gets the URI of the default collation.java.lang.String
getDefaultElementTypeNamespace()
Gets the URI of the default element/type namespace, the empty string if not set.java.lang.String
getDefaultFunctionNamespace()
Gets the URI of the default function namespace, the empty string if not set.int
getDefaultOrderForEmptySequences()
Gets the default order for empty sequences defined in the static context.int
getHoldability()
Gets the value of the holdability property.java.lang.String[]
getNamespacePrefixes()
Returns the prefixes of all the statically known namespaces.java.lang.String
getNamespaceURI(java.lang.String prefix)
Retrieves the namespace URI associated with a prefix.int
getOrderingMode()
Gets the ordering mode defined in the static context.int
getQueryLanguageTypeAndVersion()
Gets the value of the language type and version property.int
getQueryTimeout()
Retrieves the number of seconds an implementation will wait for a query to execute.protected StaticQueryContext
getSaxonStaticQueryContext()
Get a new Saxon StaticQueryContext object holding the information held in this XQStaticContextint
getScrollability()
Gets the value of the scrollability property.void
setBaseURI(java.lang.String baseUri)
Sets the Base URI in the static context, specify the empty string to make it undefined.void
setBindingMode(int bindingMode)
Sets the binding mode property.void
setBoundarySpacePolicy(int policy)
Sets the boundary-space policy in the static context.void
setConstructionMode(int mode)
Sets the construction mode in the static context.void
setContextItemStaticType(XQItemType contextItemType)
Sets the static type of the context item, specifynull
to make it unspecified.void
setCopyNamespacesModeInherit(int mode)
Sets the inherit part of the copy-namespaces mode in the static context.void
setCopyNamespacesModePreserve(int mode)
Sets the preserve part of the copy-namespaces mode in the static context.void
setDefaultCollation(java.lang.String uri)
Sets the URI of the default collation.void
setDefaultElementTypeNamespace(java.lang.String uri)
Sets the URI of the default element/type namespace, the empty string to make it unspecified.void
setDefaultFunctionNamespace(java.lang.String uri)
Sets the URI of the default function namespace, the empty string to make it unspecified.void
setDefaultOrderForEmptySequences(int order)
Sets the default order for empty sequences in the static context.void
setHoldability(int holdability)
Sets the holdability property.void
setOrderingMode(int mode)
Sets the ordering mode in the static context.void
setQueryLanguageTypeAndVersion(int langtype)
Sets the input query language type and version.void
setQueryTimeout(int seconds)
Sets the number of seconds an implementation will wait for a query to execute.void
setScrollability(int scrollability)
Sets the scrollability of the result sequence.
-
-
-
Constructor Detail
-
SaxonXQStaticContext
public SaxonXQStaticContext(Configuration config)
Create a SaxonXQStaticContext object, the Saxon implementation of XQStaticContext in XQJ- Parameters:
config
- the Saxon configuration
-
SaxonXQStaticContext
public SaxonXQStaticContext(SaxonXQStaticContext sc)
Create a SaxonXQStaticContext object as a copy of another SaxonXQStaticContext object- Parameters:
sc
- the static context to be copied
-
-
Method Detail
-
getSaxonStaticQueryContext
protected StaticQueryContext getSaxonStaticQueryContext()
Get a new Saxon StaticQueryContext object holding the information held in this XQStaticContext- Returns:
- a newly constructed StaticQueryContext object
-
declareNamespace
public void declareNamespace(java.lang.String prefix, java.lang.String uri) throws XQException
Description copied from interface:XQStaticContext
Declares a namespace prefix and associates it with a namespace URI. If the namespace URI is the empty string, the prefix is removed from the in-scope namespace definitions.- Specified by:
declareNamespace
in interfaceXQStaticContext
- Parameters:
prefix
- the prefix for the namespace URIuri
- the namespace URI. An empty string undeclares the specific prefix. Cannot benull
- Throws:
XQException
- if (1) anull
prefix, or (2) anull
namespace URI is specified
-
getBaseURI
public java.lang.String getBaseURI()
Description copied from interface:XQStaticContext
Gets the Base URI, if set in the static context, else the empty string.- Specified by:
getBaseURI
in interfaceXQStaticContext
- Returns:
- the base URI, if set, else the empty string.
Cannot be
null
..
-
getBindingMode
public int getBindingMode()
Description copied from interface:XQStaticContext
Gets the value of the binding mode property. By default an XQJ implementation operates in immediate binding mode.- Specified by:
getBindingMode
in interfaceXQStaticContext
- Returns:
- the binding mode. One of
XQConstants.BINDING_MODE_IMMEDIATE
, orXQConstants.BINDING_MODE_DEFERRED
.
-
getBoundarySpacePolicy
public int getBoundarySpacePolicy()
Description copied from interface:XQStaticContext
Gets the boundary-space policy defined in the static context.- Specified by:
getBoundarySpacePolicy
in interfaceXQStaticContext
- Returns:
- the boundary-space policy value. One of:
XQConstants.BOUNDARY_SPACE_PRESERVE
,XQConstants.BOUNDARY_SPACE_STRIP
.
-
getConstructionMode
public int getConstructionMode()
Description copied from interface:XQStaticContext
Gets the construction mode defined in the static context.- Specified by:
getConstructionMode
in interfaceXQStaticContext
- Returns:
- construction mode value. One of:
XQConstants.CONSTRUCTION_MODE_PRESERVE
,XQConstants.CONSTRUCTION_MODE_STRIP
-
getContextItemStaticType
public XQItemType getContextItemStaticType()
Description copied from interface:XQStaticContext
Gets the static type of the context item.null
if unspecified.- Specified by:
getContextItemStaticType
in interfaceXQStaticContext
- Returns:
- the static type of the context item,
if set, else
null
-
getCopyNamespacesModeInherit
public int getCopyNamespacesModeInherit()
Description copied from interface:XQStaticContext
Gets the inherit part of the copy-namespaces mode defined in the static context.- Specified by:
getCopyNamespacesModeInherit
in interfaceXQStaticContext
- Returns:
- construction mode value. One of:
XQConstants.COPY_NAMESPACES_MODE_INHERIT
,XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT
.
-
getCopyNamespacesModePreserve
public int getCopyNamespacesModePreserve()
Description copied from interface:XQStaticContext
Gets the preserve part of the copy-namespaces mode defined in the static context.- Specified by:
getCopyNamespacesModePreserve
in interfaceXQStaticContext
- Returns:
- construction mode value. One of:
XQConstants.COPY_NAMESPACES_MODE_PRESERVE
,XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE
.
-
getDefaultCollation
public java.lang.String getDefaultCollation()
Description copied from interface:XQStaticContext
Gets the URI of the default collation.- Specified by:
getDefaultCollation
in interfaceXQStaticContext
- Returns:
- the URI of the default collation.
Cannot be
null
.
-
getDefaultElementTypeNamespace
public java.lang.String getDefaultElementTypeNamespace()
Description copied from interface:XQStaticContext
Gets the URI of the default element/type namespace, the empty string if not set.- Specified by:
getDefaultElementTypeNamespace
in interfaceXQStaticContext
- Returns:
- the URI of the default element/type namespace,
if set, else the empty string. Cannot be
null
-
getDefaultFunctionNamespace
public java.lang.String getDefaultFunctionNamespace()
Description copied from interface:XQStaticContext
Gets the URI of the default function namespace, the empty string if not set.- Specified by:
getDefaultFunctionNamespace
in interfaceXQStaticContext
- Returns:
- the URI of the default function namespace,
if set, else the empty string. Cannot be
null
-
getDefaultOrderForEmptySequences
public int getDefaultOrderForEmptySequences()
Description copied from interface:XQStaticContext
Gets the default order for empty sequences defined in the static context.- Specified by:
getDefaultOrderForEmptySequences
in interfaceXQStaticContext
- Returns:
- default order for empty sequences value. One of:
XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST
,XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST
.
-
getNamespacePrefixes
public java.lang.String[] getNamespacePrefixes()
Description copied from interface:XQStaticContext
Returns the prefixes of all the statically known namespaces. Use thegetNamespaceURI
method to look up the namespace URI corresponding to a specific prefix.- Specified by:
getNamespacePrefixes
in interfaceXQStaticContext
- Returns:
String
array containing the namespace prefixes. Cannot benull
-
getNamespaceURI
public java.lang.String getNamespaceURI(java.lang.String prefix) throws XQException
Description copied from interface:XQStaticContext
Retrieves the namespace URI associated with a prefix. AnXQException
is thrown if an unknown prefix is specified, i.e. a prefix not returned by thegetInScopeNamespacePrefixes
method.- Specified by:
getNamespaceURI
in interfaceXQStaticContext
- Parameters:
prefix
- the prefix for which the namespace URI is sought. Cannot benull
- Returns:
- the namespace URI. Cannot be
null
- Throws:
XQException
- if anull
prefix is specified or if the prefix is unknown
-
getOrderingMode
public int getOrderingMode()
Description copied from interface:XQStaticContext
Gets the ordering mode defined in the static context.- Specified by:
getOrderingMode
in interfaceXQStaticContext
- Returns:
- ordering mode value. One of:
XQConstants.ORDERING_MODE_ORDERED
,XQConstants.ORDERING_MODE_UNORDERED
.
-
getHoldability
public int getHoldability()
Description copied from interface:XQStaticContext
Gets the value of the holdability property.- Specified by:
getHoldability
in interfaceXQStaticContext
- Returns:
- the type of a result's holdability. One of:
XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT
, orXQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT
.
-
getQueryLanguageTypeAndVersion
public int getQueryLanguageTypeAndVersion()
Description copied from interface:XQStaticContext
Gets the value of the language type and version property. By default an XQJ implementation's default isXQConstants.LANGTYPE_XQUERY
.- Specified by:
getQueryLanguageTypeAndVersion
in interfaceXQStaticContext
- Returns:
- the language type and version. One of:
XQConstants.LANGTYPE_XQUERY
, orXQConstants.LANGTYPE_XQUERYX
or a negative value indicating a vendor specific query language type and version.
-
getQueryTimeout
public int getQueryTimeout()
Description copied from interface:XQStaticContext
Retrieves the number of seconds an implementation will wait for a query to execute.- Specified by:
getQueryTimeout
in interfaceXQStaticContext
- Returns:
- the query execution timeout value in seconds. A value of 0 indicates no limit.
-
getScrollability
public int getScrollability()
Description copied from interface:XQStaticContext
Gets the value of the scrollability property. By default query results are forward only.- Specified by:
getScrollability
in interfaceXQStaticContext
- Returns:
- the type of a result's scrollability. One of:
XQConstants.SCROLLTYPE_FORWARD_ONLY
, orXQConstants.SCROLLTYPE_SCROLLABLE
.
-
setBaseURI
public void setBaseURI(java.lang.String baseUri) throws XQException
Description copied from interface:XQStaticContext
Sets the Base URI in the static context, specify the empty string to make it undefined.- Specified by:
setBaseURI
in interfaceXQStaticContext
- Parameters:
baseUri
- the new baseUri, or empty string to make it undefined. Cannot benull
.- Throws:
XQException
- if anull
base uri is specified
-
setBindingMode
public void setBindingMode(int bindingMode) throws XQException
Description copied from interface:XQStaticContext
Sets the binding mode property. By default an XQJ implementation operates in immediate binding mode.- Specified by:
setBindingMode
in interfaceXQStaticContext
- Parameters:
bindingMode
- the binding mode. One of:XQConstants.BINDING_MODE_IMMEDIATE
, orXQConstants.BINDING_MODE_DEFERRED
.- Throws:
XQException
- the specified mode is different fromXQConstants.BINDING_MODE_IMMEDIATE
,XQConstants.BINDING_MODE_DEFERRED
-
setBoundarySpacePolicy
public void setBoundarySpacePolicy(int policy) throws XQException
Description copied from interface:XQStaticContext
Sets the boundary-space policy in the static context.- Specified by:
setBoundarySpacePolicy
in interfaceXQStaticContext
- Parameters:
policy
- boundary space policy. One of:XQConstants.BOUNDARY_SPACE_PRESERVE
,XQConstants.BOUNDARY_SPACE_STRIP
.- Throws:
XQException
- the specified mode is different fromXQConstants.BOUNDARY_SPACE_PRESERVE
,XQConstants.BOUNDARY_SPACE_STRIP
-
setConstructionMode
public void setConstructionMode(int mode) throws XQException
Description copied from interface:XQStaticContext
Sets the construction mode in the static context.- Specified by:
setConstructionMode
in interfaceXQStaticContext
- Parameters:
mode
- construction mode value. One of:XQConstants.CONSTRUCTION_MODE_PRESERVE
,XQConstants.CONSTRUCTION_MODE_STRIP
.- Throws:
XQException
- the specified mode is different fromXQConstants.CONSTRUCTION_MODE_PRESERVE
,XQConstants.CONSTRUCTION_MODE_STRIP
-
setContextItemStaticType
public void setContextItemStaticType(XQItemType contextItemType)
Description copied from interface:XQStaticContext
Sets the static type of the context item, specifynull
to make it unspecified.- Specified by:
setContextItemStaticType
in interfaceXQStaticContext
- Parameters:
contextItemType
- the static type of the context item;null
if unspecified.
-
setCopyNamespacesModeInherit
public void setCopyNamespacesModeInherit(int mode) throws XQException
Description copied from interface:XQStaticContext
Sets the inherit part of the copy-namespaces mode in the static context.- Specified by:
setCopyNamespacesModeInherit
in interfaceXQStaticContext
- Parameters:
mode
- ordering mode value. One of:XQConstants.COPY_NAMESPACES_MODE_INHERIT
,XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT
.- Throws:
XQException
- the specified mode is different fromXQConstants.COPY_NAMESPACES_MODE_INHERIT
,XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT
-
setCopyNamespacesModePreserve
public void setCopyNamespacesModePreserve(int mode) throws XQException
Description copied from interface:XQStaticContext
Sets the preserve part of the copy-namespaces mode in the static context.- Specified by:
setCopyNamespacesModePreserve
in interfaceXQStaticContext
- Parameters:
mode
- ordering mode value. One of:XQConstants.COPY_NAMESPACES_MODE_PRESERVE
,XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE
.- Throws:
XQException
- the specified mode is different fromXQConstants.COPY_NAMESPACES_MODE_PRESERVE
,XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE
-
setDefaultCollation
public void setDefaultCollation(java.lang.String uri) throws XQException
Description copied from interface:XQStaticContext
Sets the URI of the default collation.- Specified by:
setDefaultCollation
in interfaceXQStaticContext
- Parameters:
uri
- the namespace URI of the default collation. Cannot benull
.- Throws:
XQException
- if anull
URI is specified
-
setDefaultElementTypeNamespace
public void setDefaultElementTypeNamespace(java.lang.String uri) throws XQException
Description copied from interface:XQStaticContext
Sets the URI of the default element/type namespace, the empty string to make it unspecified.- Specified by:
setDefaultElementTypeNamespace
in interfaceXQStaticContext
- Parameters:
uri
- the namespace URI of the default element/type namespace, the empty string to make it unspecified. Cannot benull
.- Throws:
XQException
- if anull
uri is specified
-
setDefaultFunctionNamespace
public void setDefaultFunctionNamespace(java.lang.String uri) throws XQException
Description copied from interface:XQStaticContext
Sets the URI of the default function namespace, the empty string to make it unspecified.- Specified by:
setDefaultFunctionNamespace
in interfaceXQStaticContext
- Parameters:
uri
- the namespace URI of the default function namespace, the empty string to make it unspecified. Cannot benull
.- Throws:
XQException
- if anull
URI is specified
-
setDefaultOrderForEmptySequences
public void setDefaultOrderForEmptySequences(int order) throws XQException
Description copied from interface:XQStaticContext
Sets the default order for empty sequences in the static context.- Specified by:
setDefaultOrderForEmptySequences
in interfaceXQStaticContext
- Parameters:
order
- the default order for empty sequences. One of:XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST
,XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST
.- Throws:
XQException
- the specified order for empty sequences is different fromXQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST
,XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST
-
setOrderingMode
public void setOrderingMode(int mode) throws XQException
Description copied from interface:XQStaticContext
Sets the ordering mode in the static context.- Specified by:
setOrderingMode
in interfaceXQStaticContext
- Parameters:
mode
- ordering mode value. One of:XQConstants.ORDERING_MODE_ORDERED
,XQConstants.ORDERING_MODE_UNORDERED
.- Throws:
XQException
- the specified mode is different fromXQConstants.ORDERING_MODE_ORDERED
,XQConstants.ORDERING_MODE_UNORDERED
-
setQueryTimeout
public void setQueryTimeout(int seconds) throws XQException
Description copied from interface:XQStaticContext
Sets the number of seconds an implementation will wait for a query to execute. If the implementation does not support query timeout it can ignore the specified timeout value. It the limit is exceeded, the behavor of the query is the same as an execution of a cancel by another thread.- Specified by:
setQueryTimeout
in interfaceXQStaticContext
- Parameters:
seconds
- the query execution timeout value in seconds. A value of 0 indicates no limit- Throws:
XQException
- if the passed in value is negative
-
setHoldability
public void setHoldability(int holdability) throws XQException
Description copied from interface:XQStaticContext
Sets the holdability property.- Specified by:
setHoldability
in interfaceXQStaticContext
- Parameters:
holdability
- the holdability of the result. One of:XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT
, orXQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT
.- Throws:
XQException
- the specified holdability is different fromXQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT
,XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT
-
setQueryLanguageTypeAndVersion
public void setQueryLanguageTypeAndVersion(int langtype) throws XQException
Description copied from interface:XQStaticContext
Sets the input query language type and version. When this is set to a particular language type and version, then the query is assumed to be in that language and version.- Specified by:
setQueryLanguageTypeAndVersion
in interfaceXQStaticContext
- Parameters:
langtype
- the query language type and version of the inputs. One of:XQConstants.LANGTYPE_XQUERY
(default), orXQConstants.LANGTYPE_XQUERYX
. A negative number indicates a vendor specific query language type and version.- Throws:
XQException
- the specified langtype is different fromXQConstants.LANGTYPE_XQUERY
,XQConstants.LANGTYPE_XQUERYX
and is not negative
-
setScrollability
public void setScrollability(int scrollability) throws XQException
Description copied from interface:XQStaticContext
Sets the scrollability of the result sequence. By default query results are forward only.- Specified by:
setScrollability
in interfaceXQStaticContext
- Parameters:
scrollability
- the scrollability of the result. One of:XQConstants.SCROLLTYPE_FORWARD_ONLY
, orXQConstants.SCROLLTYPE_SCROLLABLE
.- Throws:
XQException
- the specified crollability type is different fromXQConstants.SCROLLTYPE_FORWARD_ONLY
,XQConstants.SCROLLTYPE_SCROLLABLE
-
checkNotNull
protected void checkNotNull(java.lang.Object arg) throws XQException
- Throws:
XQException
-
-