io::zorba::api::xqj::ZorbaXQStaticContext

An ZorbaXQStaticContext represents default values for various XQuery Static Context Components. Further it includes the static XQJ properties for an XQExpression or XQPreparedExpression object.The following XQuery Static Context Components are supported through the ZorbaXQStaticContext interface:
  • Statically known namespaces
  • Default element/type namespace
  • Default function namespace
  • Context item static type
  • Default collation
  • Construction mode
  • Ordering mode
  • Default order for empty sequences
  • Boundary-space policy
  • Copy-namespaces mode
  • Base URI
As described in the XQuery specification, each of these default values can be overridden or augmented in the query prolog. In addition ZorbaXQStaticContext includes the static XQJ properties for an XQExpression or XQPreparedExpression object:
  • Binding mode
  • Holdability of the result sequences
  • Scrollability of the result sequences
  • Query language
  • Query timeout
Note that ZorbaXQStaticContext is a value object, changing attributes in such object doesn't affect any existing XQExpression or XQPreparedExpression object. In order to take effect, the application needs to explicitly change the XQConnection default values, or specify an ZorbaXQStaticContext object when creating an XQExpression or XQPreparedExpression.
 {.java}
   XQConnection conn = XQDatasource.getConnection();
   // get the default values from the implementation
   ZorbaXQStaticContext cntxt = conn.getStaticContext();
   // change the base uri
   cntxt.setBaseURI("http://www.foo.com/xml/");
   // change the implementation defaults
    conn.setStaticContext(cntxt);
  
   // create an XQExpression using the new defaults
   XQExpression expr1 = conn.createExpression();
  
   // creat an XQExpression, using BaseURI "file:///root/user/john/"
   cntxt.setBaseURI("file:///root/user/john/");
   XQExpression expr2 = conn.createExpression(cntxt);
   ... 

Private Attributes

int

binding

int

holdability

StringVector

libPaths

ZorbaXQStaticCollectionManager

lStaticCollectionManager

StringVector

modulePaths

XQuery

query

int

queryLang

int

scrollability

StaticContext

staticContext

StringVector

uriPaths

Zorba

zorba

package-attrib

String

baseURI

XQItemType

contextItemStaticType

Map< String, String >

namespaces

Protected Functions

StaticContext

getZorbaStaticContext()

void

setLIBPaths(StringVector aLIBPath)

void

setMODPaths(StringVector aMODPath)

void

setURIPaths(StringVector aURIPath)

Public Functions

void

declareNamespace(String prefix, String URI)

Declares a namespace prefix and associates it with a namespace URI.

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.

String

getDefaultCollation()

Gets the URI of the default collation.

String

getDefaultElementTypeNamespace()

Gets the URI of the default element/type namespace, the empty string if not set.

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.

String[]

getNamespacePrefixes()

Returns the prefixes of all the statically known namespaces.

String

getNamespaceURI(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.

int

getScrollability()

Gets the value of the scrollability property.

ZorbaXQStaticCollectionManager

getStaticCollectionManager()

Returns a StaticCollectionManager.

void

setBaseURI(String URI)

Sets the Base URI in the static context, specify the empty string to make it undefined.

void

setBindingMode(int i)

Sets the binding mode property.

void

setBoundarySpacePolicy(int i)

Sets the boundary-space policy in the static context.

void

setConstructionMode(int i)

Sets the construction mode in the static context.

void

setContextItemStaticType(XQItemType xqit)

Sets the static type of the context item, specify null to make it unspecified.

void

setCopyNamespacesModeInherit(int i)

Sets the inherit part of the copy-namespaces mode in the static context.

void

setCopyNamespacesModePreserve(int i)

Sets the preserve part of the copy-namespaces mode in the static context.

void

setDefaultCollation(String URI)

Sets the URI of the default collation.

void

setDefaultElementTypeNamespace(String URI)

Sets the URI of the default element/type namespace, the empty string to make it unspecified.

void

setDefaultFunctionNamespace(String URI)

Sets the URI of the default function namespace, the empty string to make it unspecified.

void

setDefaultOrderForEmptySequences(int i)

Sets the default order for empty sequences in the static context.

void

setHoldability(int i)

Sets the holdability property.

void

setOrderingMode(int i)

Sets the ordering mode in the static context.

void

setQueryLanguageTypeAndVersion(int i)

Sets the input query language type and version.

void

setQueryTimeout(int i)

Sets the number of seconds an implementation will wait for a query to execute.

void

setScrollability(int i)

Sets the scrollability of the result sequence.

ZorbaXQStaticContext(Zorba aZorba)

ZorbaXQStaticContext(XQuery aQuery)

Private Functions

void

isNullXQException(Object value)

Private Attributes

binding

int binding

holdability

int holdability

libPaths

StringVector libPaths

lStaticCollectionManager

ZorbaXQStaticCollectionManager lStaticCollectionManager

modulePaths

StringVector modulePaths

query

XQuery query

queryLang

int queryLang

scrollability

int scrollability

staticContext

StaticContext staticContext

uriPaths

StringVector uriPaths

zorba

Zorba zorba

package-attrib

baseURI

String baseURI

contextItemStaticType

XQItemType contextItemStaticType

namespaces

Map< String, String > namespaces

Protected Functions

getZorbaStaticContext

StaticContext getZorbaStaticContext()

setLIBPaths

void setLIBPaths(StringVector aLIBPath)

setMODPaths

void setMODPaths(StringVector aMODPath)

setURIPaths

void setURIPaths(StringVector aURIPath)

Public Functions

declareNamespace

void declareNamespace(String prefix, String URI)

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.

Parameters

prefix - the prefix for the namespace URI
URI - the namespace URI. An empty string undeclares the specific prefix. Cannot be null

Parameters

XQException - if (1) a null prefix, or (2) a null namespace URI is specified

getBaseURI

String getBaseURI()

Gets the Base URI, if set in the static context, else the empty string.

Returns

the base URI, if set, else the empty string. Cannot be null..

getBindingMode

int getBindingMode()

Gets the value of the binding mode property.

By default an XQJ implementation operates in immediate binding mode.

Returns

the binding mode. One of XQConstants.BINDING_MODE_IMMEDIATE, orXQConstants.BINDING_MODE_DEFERRED.

getBoundarySpacePolicy

int getBoundarySpacePolicy()

Gets the boundary-space policy defined in the static context.

Returns

the boundary-space policy value. One of: XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP.

getConstructionMode

int getConstructionMode()

Gets the construction mode defined in the static context.

Returns

construction mode value. One of: XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP

getContextItemStaticType

XQItemType getContextItemStaticType()

Gets the static type of the context item.

null if unspecified.

Returns

the static type of the context item, if set, else null

getCopyNamespacesModeInherit

int getCopyNamespacesModeInherit()

Gets the inherit part of the copy-namespaces mode defined in the static context.

Returns

construction mode value. One of: XQConstants.COPY_NAMESPACES_MODE_INHERIT, XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT.

getCopyNamespacesModePreserve

int getCopyNamespacesModePreserve()

Gets the preserve part of the copy-namespaces mode defined in the static context.

Returns

construction mode value. One of: XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE.

getDefaultCollation

String getDefaultCollation()

Gets the URI of the default collation.

Returns

the URI of the default collation. Cannot be null.

getDefaultElementTypeNamespace

String getDefaultElementTypeNamespace()

Gets the URI of the default element/type namespace, the empty string if not set.

Returns

the URI of the default element/type namespace, if set, else the empty string. Cannot be null

getDefaultFunctionNamespace

String getDefaultFunctionNamespace()

Gets the URI of the default function namespace, the empty string if not set.

Returns

the URI of the default function namespace, if set, else the empty string. Cannot be null

getDefaultOrderForEmptySequences

int getDefaultOrderForEmptySequences()

Gets the default order for empty sequences defined in the static context.

Returns

default order for empty sequences value. One of: XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST, XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST.

getHoldability

int getHoldability()

Gets the value of the holdability property.

Returns

the type of a result's holdability. One of: XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, or XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT.

getNamespacePrefixes

String[] getNamespacePrefixes()

Returns the prefixes of all the statically known namespaces.

Use the getNamespaceURI method to look up the namespace URI corresponding to a specific prefix.

Returns

String array containing the namespace prefixes. Cannot be null

getNamespaceURI

String getNamespaceURI(String prefix)

Retrieves the namespace URI associated with a prefix.

An XQException is thrown if an unknown prefix is specified, i.e. a prefix not returned by the getInScopeNamespacePrefixes method.

Parameters

prefix - the prefix for which the namespace URI is sought. Cannot be null

Returns

the namespace URI. Cannot be null

Parameters

XQException - if a null prefix is specified or if the prefix is unknown

getOrderingMode

int getOrderingMode()

Gets the ordering mode defined in the static context.

Returns

ordering mode value. One of: XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED.

getQueryLanguageTypeAndVersion

int getQueryLanguageTypeAndVersion()

Gets the value of the language type and version property.

By default an XQJ implementation's default is XQConstants.LANGTYPE_XQUERY.

Returns

the language type and version. One of: XQConstants.LANGTYPE_XQUERY, or XQConstants.LANGTYPE_XQUERYX or a negative value indicating a vendor specific query language type and version.

getQueryTimeout

int getQueryTimeout()

Retrieves the number of seconds an implementation will wait for a query to execute.

Returns

the query execution timeout value in seconds. A value of 0 indicates no limit.

getScrollability

int getScrollability()

Gets the value of the scrollability property.

By default query results are forward only.

Returns

the type of a result's scrollability. One of: XQConstants.SCROLLTYPE_FORWARD_ONLY, or XQConstants.SCROLLTYPE_SCROLLABLE.

getStaticCollectionManager

ZorbaXQStaticCollectionManager getStaticCollectionManager()

Returns a StaticCollectionManager.

Returns a CollectionManager responsible for all collections which are statically declared in the static context of this query (main module) or any transitively imported library module. The collection manager provides a set of functions for managing collections and their contents.

Returns

ZorbaXQStaticCollectionManager The collection manager responsible for managing collections of this Sequence.

Parameters

XQException - if the object is closed

setBaseURI

void setBaseURI(String URI)

Sets the Base URI in the static context, specify the empty string to make it undefined.

Parameters

URI - the new baseUri, or empty string to make it undefined. Cannot be null.

Parameters

XQException - if a null base uri is specified

setBindingMode

void setBindingMode(int i)

Sets the binding mode property.

By default an XQJ implementation operates in immediate binding mode.

Parameters

i - the binding mode. One of: XQConstants.BINDING_MODE_IMMEDIATE, orXQConstants.BINDING_MODE_DEFERRED.

Parameters

XQException - the specified mode is different from XQConstants.BINDING_MODE_IMMEDIATE, XQConstants.BINDING_MODE_DEFERRED

setBoundarySpacePolicy

void setBoundarySpacePolicy(int i)

Sets the boundary-space policy in the static context.

Parameters

i - boundary space policy. One of: XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP.

Parameters

XQException - the specified mode is different from XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP

setConstructionMode

void setConstructionMode(int i)

Sets the construction mode in the static context.

Parameters

i - construction mode value. One of: XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP.

Parameters

XQException - the specified mode is different from XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP

setContextItemStaticType

void setContextItemStaticType(XQItemType xqit)

Sets the static type of the context item, specify null to make it unspecified.

Parameters

xqit - the static type of the context item; null if unspecified.

Parameters

XQException - if the contextItemType is not a valid ZorbaXQItemType

setCopyNamespacesModeInherit

void setCopyNamespacesModeInherit(int i)

Sets the inherit part of the copy-namespaces mode in the static context.

Parameters

i - ordering mode value. One of: XQConstants.COPY_NAMESPACES_MODE_INHERIT, XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT.

Parameters

XQException - the specified mode is different from XQConstants.COPY_NAMESPACES_MODE_INHERIT, XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT

setCopyNamespacesModePreserve

void setCopyNamespacesModePreserve(int i)

Sets the preserve part of the copy-namespaces mode in the static context.

Parameters

i - ordering mode value. One of: XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE.

Parameters

XQException - the specified mode is different from XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE

setDefaultCollation

void setDefaultCollation(String URI)

Sets the URI of the default collation.

Parameters

URI - the namespace URI of the default collation. Cannot be null.

Parameters

XQException - if a null URI is specified

setDefaultElementTypeNamespace

void setDefaultElementTypeNamespace(String URI)

Sets the URI of the default element/type namespace, the empty string to make it unspecified.

Parameters

URI - the namespace URI of the default element/type namespace, the empty string to make it unspecified. Cannot be null.

Parameters

XQException - if a null uri is specified

setDefaultFunctionNamespace

void setDefaultFunctionNamespace(String URI)

Sets the URI of the default function namespace, the empty string to make it unspecified.

Parameters

URI - the namespace URI of the default function namespace, the empty string to make it unspecified. Cannot be null.

Parameters

XQException - if a null URI is specified

setDefaultOrderForEmptySequences

void setDefaultOrderForEmptySequences(int i)

Sets the default order for empty sequences in the static context.

Parameters

i - the default order for empty sequences. One of: XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST, XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST.

Parameters

XQException - the specified order for empty sequences is different from XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST, XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST

setHoldability

void setHoldability(int i)

Sets the holdability property.

Parameters

i - the holdability of the result. One of: XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, or XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT.

Parameters

XQException - the specified holdability is different from XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT

setOrderingMode

void setOrderingMode(int i)

Sets the ordering mode in the static context.

Parameters

i - ordering mode value. One of: XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED.

Parameters

XQException - the specified mode is different from XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED

setQueryLanguageTypeAndVersion

void setQueryLanguageTypeAndVersion(int i)

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.

Parameters

i - the query language type and version of the inputs. One of: XQConstants.LANGTYPE_XQUERY (default), or XQConstants.LANGTYPE_XQUERYX. A negative number indicates a vendor specific query language type and version.

Parameters

XQException - the specified langtype is different from XQConstants.LANGTYPE_XQUERY, XQConstants.LANGTYPE_XQUERYX and is not negative

setQueryTimeout

void setQueryTimeout(int i)

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.

Parameters

i - the query execution timeout value in seconds. A value of 0 indicates no limit

Parameters

XQException - if the passed in value is negative

setScrollability

void setScrollability(int i)

Sets the scrollability of the result sequence.

By default query results are forward only.

Parameters

i - the scrollability of the result. One of: XQConstants.SCROLLTYPE_FORWARD_ONLY, or XQConstants.SCROLLTYPE_SCROLLABLE.

Parameters

XQException - the specified crollability type is different from XQConstants.SCROLLTYPE_FORWARD_ONLY, XQConstants.SCROLLTYPE_SCROLLABLE

ZorbaXQStaticContext

 ZorbaXQStaticContext(Zorba aZorba)

ZorbaXQStaticContext

 ZorbaXQStaticContext(XQuery aQuery)

Private Functions

isNullXQException

void isNullXQException(Object value)