# DynamicContext Class Reference

The execution time dynamic context interface. More...

`#include <DynamicContext.hpp>`

Inheritance diagram for DynamicContext:

[legend]
List of all members.

## Public Member Functions

virtual | ~DynamicContext ()
virtual void | incrementDocumentRefCount (const xercesc::DOMDocument *document) const =0
| Register a new reference to the document.
virtual void | decrementDocumentRefCount (const xercesc::DOMDocument *document) const =0
| Register a closed reference to the document.
virtual void | clearDynamicContext ()=0
| Resets the dynamic context, as if it had never been used.
virtual Item::Ptr | getContextItem () const =0
| Get the context Item.
virtual void | setContextItem (const Item::Ptr &item)=0
| Set the context item to item.
virtual void | setExternalContextNode (const xercesc::DOMNode *node)=0
| Sets the context item to an external document.
virtual unsigned int | getContextPosition () const =0
| Get the context position.
virtual void | setContextPosition (unsigned int pos)=0
| Set the context position.
virtual unsigned int | getContextSize () const =0
| Get the context size.
virtual void | setContextSize (unsigned int size)=0
| Set the context size.
virtual VariableStore * | getVariableStore ()=0
| get the variable store
virtual time_t | getCurrentTime () const =0
| Return the current time.
virtual void | setCurrentTime (time_t newTime)=0
| Set the current time.
virtual ATDurationOrDerived::Ptr | getImplicitTimezone () const =0
| Return the implicit timezone for this system.
virtual void | setImplicitTimezone (const ATDurationOrDerived::Ptr &timezoneAsDuration)=0
| Set the implicit timezone.
virtual void | registerURIResolver (URIResolver *resolver)=0
| Register a callback object for resolving URIs.
virtual Sequence | resolveDocument (const XMLCh *uri, const LocationInfo *location)=0
virtual Sequence | resolveCollection (const XMLCh *uri, const LocationInfo *location)=0
virtual Sequence | resolveDefaultCollection ()=0
virtual Node::Ptr | validate (const Node::Ptr &node, DocumentCache::ValidationMode valMode)=0
| returns the validated node
virtual void | trace (const XMLCh *message1, const XMLCh *message2)=0
| send a pair of strings to the "trace" data set
virtual void | setDebugCallback (XQDebugCallback *callback)=0
| Set the object to be used for debugging callbacks.
virtual XQDebugCallback * | getDebugCallback () const =0
| Get the object to be used for debugging callbacks.
virtual void | testInterrupt () const
| Test if the query should be interrupted, and throw if so.

## Detailed Description

The execution time dynamic context interface.

## Constructor & Destructor Documentation

virtual DynamicContext::~DynamicContext | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

virtual void DynamicContext::clearDynamicContext | ( |  | ) | `[pure virtual]`

| Resets the dynamic context, as if it had never been used.

virtual void DynamicContext::decrementDocumentRefCount | ( | const xercesc::DOMDocument * | document | ) | const`[pure virtual]`

| Register a closed reference to the document.

virtual Item::Ptr DynamicContext::getContextItem | ( |  | ) | const`[pure virtual]`

| Get the context Item.

virtual unsigned int DynamicContext::getContextPosition | ( |  | ) | const`[pure virtual]`

| Get the context position.

virtual unsigned int DynamicContext::getContextSize | ( |  | ) | const`[pure virtual]`

| Get the context size.

virtual time_t DynamicContext::getCurrentTime | ( |  | ) | const`[pure virtual]`

| Return the current time.

virtual XQDebugCallback* DynamicContext::getDebugCallback | ( |  | ) | const`[pure virtual]`

| Get the object to be used for debugging callbacks.

virtual ATDurationOrDerived::Ptr DynamicContext::getImplicitTimezone | ( |  | ) | const`[pure virtual]`

| Return the implicit timezone for this system.

virtual VariableStore* DynamicContext::getVariableStore | ( |  | ) | `[pure virtual]`

| get the variable store

virtual void DynamicContext::incrementDocumentRefCount | ( | const xercesc::DOMDocument * | document | ) | const`[pure virtual]`

| Register a new reference to the document.

virtual void DynamicContext::registerURIResolver | ( | URIResolver * | resolver | ) | `[pure virtual]`

Register a callback object for resolving URIs.

Multiple URIResolver objects can be registered with the DynamicContext at the same time. The most recently added URIResolver will be called first, and if it returns NULL, subsequent ones will be called - ending in a call to the fallback routines.

The DynamicContext will not adopt this object, making the user responsible for making sure that the URIResolver object's lifespan matches or exceeds the life of the DynamicContext.

virtual Sequence DynamicContext::resolveCollection | ( | const XMLCh * | uri,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

virtual Sequence DynamicContext::resolveDefaultCollection | ( |  | ) | `[pure virtual]`

virtual Sequence DynamicContext::resolveDocument | ( | const XMLCh * | uri,
|  | const LocationInfo * | location
| ) | `[pure virtual]`

virtual void DynamicContext::setContextItem | ( | const Item::Ptr & | item | ) | `[pure virtual]`

| Set the context item to item.

virtual void DynamicContext::setContextPosition | ( | unsigned int | pos | ) | `[pure virtual]`

| Set the context position.

virtual void DynamicContext::setContextSize | ( | unsigned int | size | ) | `[pure virtual]`

| Set the context size.

virtual void DynamicContext::setCurrentTime | ( | time_t | newTime | ) | `[pure virtual]`

| Set the current time.

virtual void DynamicContext::setDebugCallback | ( | XQDebugCallback * | callback | ) | `[pure virtual]`

| Set the object to be used for debugging callbacks.

virtual void DynamicContext::setExternalContextNode | ( | const xercesc::DOMNode * | node | ) | `[pure virtual]`

| Sets the context item to an external document. This is needed so that the DOMDocument reference counting does not release the document that the node comes from.

virtual void DynamicContext::setImplicitTimezone | ( | const ATDurationOrDerived::Ptr & | timezoneAsDuration | ) | `[pure virtual]`

| Set the implicit timezone.

virtual void DynamicContext::testInterrupt | ( |  | ) | const`[inline, virtual]`

| Test if the query should be interrupted, and throw if so. This method has a default implementation of no-op.

virtual void DynamicContext::trace | ( | const XMLCh * | message1,
|  | const XMLCh * | message2
| ) | `[pure virtual]`

| send a pair of strings to the "trace" data set

virtual Node::Ptr DynamicContext::validate | ( | const Node::Ptr & | node,
|  | DocumentCache::ValidationMode | valMode
| ) | `[pure virtual]`

| returns the validated node

The documentation for this class was generated from the following file:

- DynamicContext.hpp