zorba::StaticCollectionManager

#include <zorba/static_collection_manager.h>

Inherited from: zorba::CollectionManager

Using the StaticCollectionManager one can retrieve information about statically declared collections and indexes as well as manage them. The StaticCollectionManager can be retrieved from (1) a compiled XQuery or (2) a StaticContext object. In both cases, this class provides access to information for the collections and indexes that are declared in (1) all the modules (transitively) imported by the main query or (2) the module that resulted in the compilation of the StaticContext, respectively. Moreover, this class allows to create or delete such collections and indexes.

Public Functions

ItemSequence_t

availableCollections() const =0

This function returns a sequence of names of the collections that are available.

ItemSequence_t

availableIndexes() const =0

This function returns a sequence of names of the indexes that are available.

void

createCollection(const Item &aName)=0

This function creates the collection with the given name.

void

createCollection(const Item &aName, const ItemSequence_t &aContents)=0

This function creates the collection with the given name.

void

createIndex(const Item &aQName)=0

Create the index with the given name.

ItemSequence_t

declaredCollections() const =0

List all the collections that are declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

ItemSequence_t

declaredIndexes() const =0

List all the indexes that are declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

void

deleteCollection(const Item &aName)=0

This function removes the collection with the given name.

void

deleteIndex(const Item &aQName)=0

Create the index with the given name.

Collection_t

getCollection(const Item &aName) const =0

Returns a instance of the Collection class which can be used to modify and retrieve the contents of the collection identified by the given name.

bool

isAvailableCollection(const Item &aName) const =0

This function returns true if a collection with the given name is available.

bool

isAvailableIndex(const Item &aQName) const =0

This function returns true if a index with the given name is available.

bool

isDeclaredCollection(const Item &aQName) const =0

Checks if a collection with a given QName is declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

bool

isDeclaredIndex(const Item &aQName) const =0

Checks if a index with a given QName is declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

void

registerDiagnosticHandler(DiagnosticHandler *aDiagnosticHandler)=0

Register a DiagnosticHandler to which errors occuring during the management of collections are reported.

~StaticCollectionManager()

Public Functions

availableCollections

ItemSequence_t availableCollections() const =0

This function returns a sequence of names of the collections that are available.

If this is an instance of the StaticCollectionManager class (i.e. returned by any of the getStaticCollectionManager methods), the collections returned by this function are also statically declared.

Returns

The list of names of the available collections.

availableIndexes

ItemSequence_t availableIndexes() const =0

This function returns a sequence of names of the indexes that are available.

Returns

The list of names of the available indexes.

createCollection

void createCollection(const Item &aName)=0

This function creates the collection with the given name.

Parameters

aName The name of the collection to create.

Parameters

XDDY0002 if a collection with the given name already exists.

createCollection

void createCollection(const Item &aName, const ItemSequence_t &aContents)=0

This function creates the collection with the given name.

Moreover, it adds copies of the sequence aContents to the new collection.

Parameters

aName The name of the collection to create.
aContents The sequence of items.

Parameters

XDDY0002 if a collection with the given name already exists.

createIndex

void createIndex(const Item &aQName)=0

Create the index with the given name.

Parameters

aQName The name of the index to create.

Parameters

zerr:ZDDY0021 if a index with the given name is not declared.
zerr:ZDDY0022 if a index with the given name already exists.

declaredCollections

ItemSequence_t declaredCollections() const =0

List all the collections that are declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

Returns

a sequence of QNames of all said collections

declaredIndexes

ItemSequence_t declaredIndexes() const =0

List all the indexes that are declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

Returns

a sequence of QNames of all said indexes

deleteCollection

void deleteCollection(const Item &aName)=0

This function removes the collection with the given name.

Parameters

aName The name of the collection to delete.

Parameters

XDDY0003 if the collection does not exist.

deleteIndex

void deleteIndex(const Item &aQName)=0

Create the index with the given name.

Parameters

aQName The name of the index to create.

Parameters

zerr:ZDDY0021 if a index with the given name is not declared.
zerr:ZDDY0009 if a index with the given name does not exist

getCollection

Collection_t getCollection(const Item &aName) const =0

Returns a instance of the Collection class which can be used to modify and retrieve the contents of the collection identified by the given name.

Parameters

aName The name of the collection to retrieve.

Parameters

XDDY0003 if the collection does not exist.

isAvailableCollection

bool isAvailableCollection(const Item &aName) const =0

This function returns true if a collection with the given name is available.

If this is an instance of the StaticCollectionManager class (i.e. returned by any of the getStaticCollectionManager() methods), the collection also needs to be statically declared.

Parameters

aName The name of the collection that is being checked.

Returns

true if the collection is available and false otherwise.

isAvailableIndex

bool isAvailableIndex(const Item &aQName) const =0

This function returns true if a index with the given name is available.

Parameters

aQName The name of the index that is being checked.

Returns

true if the index is available and false otherwise.

isDeclaredCollection

bool isDeclaredCollection(const Item &aQName) const =0

Checks if a collection with a given QName is declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

Returns

true if a collection with the given name is declared, false otherwise.

isDeclaredIndex

bool isDeclaredIndex(const Item &aQName) const =0

Checks if a index with a given QName is declared in the XQuery or the StaticContext that was used to retrieve this StaticCollectionManager.

Returns

true if a collection with the given name is declared, false otherwise.

registerDiagnosticHandler

void registerDiagnosticHandler(DiagnosticHandler *aDiagnosticHandler)=0

Register a DiagnosticHandler to which errors occuring during the management of collections are reported.

If no DiagnosticHandler has been set using this function or the corresponding function of the XmlDataManager then subclasses of the ZorbaException class are thrown to report errors.

Parameters

aDiagnosticHandler DiagnosticHandler to which errors are reported. The caller retains ownership over the DiagnosticHandler passed as parameter.

~StaticCollectionManager

 ~StaticCollectionManager()