Class SaxonXQStaticContext

java.lang.Object
com.saxonica.xqj.SaxonXQStaticContext
All Implemented Interfaces:
XQStaticContext

public class SaxonXQStaticContext extends Object implements XQStaticContext
Saxon implementation of the XQJ XQStaticContext interface
  • Constructor Details

    • 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 Details

    • 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(String prefix, 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 interface XQStaticContext
      Parameters:
      prefix - the prefix for the namespace URI
      uri - the namespace URI. An empty string undeclares the specific prefix. Cannot be null
      Throws:
      XQException - if (1) a null prefix, or (2) a null namespace URI is specified
    • getBaseURI

      public 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 interface XQStaticContext
      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 interface XQStaticContext
      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 interface XQStaticContext
      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 interface XQStaticContext
      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 interface XQStaticContext
      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 interface XQStaticContext
      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 interface XQStaticContext
      Returns:
      construction mode value. One of: XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE.
    • getDefaultCollation

      public String getDefaultCollation()
      Description copied from interface: XQStaticContext
      Gets the URI of the default collation.
      Specified by:
      getDefaultCollation in interface XQStaticContext
      Returns:
      the URI of the default collation. Cannot be null.
    • getDefaultElementTypeNamespace

      public 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 interface XQStaticContext
      Returns:
      the URI of the default element/type namespace, if set, else the empty string. Cannot be null
    • getDefaultFunctionNamespace

      public 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 interface XQStaticContext
      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 interface XQStaticContext
      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 String[] getNamespacePrefixes()
      Description copied from interface: XQStaticContext
      Returns the prefixes of all the statically known namespaces. Use the getNamespaceURI method to look up the namespace URI corresponding to a specific prefix.
      Specified by:
      getNamespacePrefixes in interface XQStaticContext
      Returns:
      String array containing the namespace prefixes. Cannot be null
    • getNamespaceURI

      public String getNamespaceURI(String prefix) throws XQException
      Description copied from interface: XQStaticContext
      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.
      Specified by:
      getNamespaceURI in interface XQStaticContext
      Parameters:
      prefix - the prefix for which the namespace URI is sought. Cannot be null
      Returns:
      the namespace URI. Cannot be null
      Throws:
      XQException - if a null 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 interface XQStaticContext
      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 interface XQStaticContext
      Returns:
      the type of a result's holdability. One of: XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, or XQConstants.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 is XQConstants.LANGTYPE_XQUERY.
      Specified by:
      getQueryLanguageTypeAndVersion in interface XQStaticContext
      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

      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 interface XQStaticContext
      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 interface XQStaticContext
      Returns:
      the type of a result's scrollability. One of: XQConstants.SCROLLTYPE_FORWARD_ONLY, or XQConstants.SCROLLTYPE_SCROLLABLE.
    • setBaseURI

      public void setBaseURI(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 interface XQStaticContext
      Parameters:
      baseUri - the new baseUri, or empty string to make it undefined. Cannot be null.
      Throws:
      XQException - if a null 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 interface XQStaticContext
      Parameters:
      bindingMode - the binding mode. One of: XQConstants.BINDING_MODE_IMMEDIATE, orXQConstants.BINDING_MODE_DEFERRED.
      Throws:
      XQException - the specified mode is different from XQConstants.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 interface XQStaticContext
      Parameters:
      policy - boundary space policy. One of: XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP.
      Throws:
      XQException - the specified mode is different from XQConstants.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 interface XQStaticContext
      Parameters:
      mode - construction mode value. One of: XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP.
      Throws:
      XQException - the specified mode is different from XQConstants.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, specify null to make it unspecified.
      Specified by:
      setContextItemStaticType in interface XQStaticContext
      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 interface XQStaticContext
      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 from XQConstants.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 interface XQStaticContext
      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 from XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE
    • setDefaultCollation

      public void setDefaultCollation(String uri) throws XQException
      Description copied from interface: XQStaticContext
      Sets the URI of the default collation.
      Specified by:
      setDefaultCollation in interface XQStaticContext
      Parameters:
      uri - the namespace URI of the default collation. Cannot be null.
      Throws:
      XQException - if a null URI is specified
    • setDefaultElementTypeNamespace

      public void setDefaultElementTypeNamespace(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 interface XQStaticContext
      Parameters:
      uri - the namespace URI of the default element/type namespace, the empty string to make it unspecified. Cannot be null.
      Throws:
      XQException - if a null uri is specified
    • setDefaultFunctionNamespace

      public void setDefaultFunctionNamespace(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 interface XQStaticContext
      Parameters:
      uri - the namespace URI of the default function namespace, the empty string to make it unspecified. Cannot be null.
      Throws:
      XQException - if a null 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 interface XQStaticContext
      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 from XQConstants.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 interface XQStaticContext
      Parameters:
      mode - ordering mode value. One of: XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED.
      Throws:
      XQException - the specified mode is different from XQConstants.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 interface XQStaticContext
      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 interface XQStaticContext
      Parameters:
      holdability - the holdability of the result. One of: XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, or XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT.
      Throws:
      XQException - the specified holdability is different from XQConstants.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 interface XQStaticContext
      Parameters:
      langtype - 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.
      Throws:
      XQException - the specified langtype is different from XQConstants.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 interface XQStaticContext
      Parameters:
      scrollability - the scrollability of the result. One of: XQConstants.SCROLLTYPE_FORWARD_ONLY, or XQConstants.SCROLLTYPE_SCROLLABLE.
      Throws:
      XQException - the specified crollability type is different from XQConstants.SCROLLTYPE_FORWARD_ONLY, XQConstants.SCROLLTYPE_SCROLLABLE
    • checkNotNull

      protected void checkNotNull(Object arg) throws XQException
      Throws:
      XQException