libSBML C++ API
5.18.0
|
This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. It is a class used in the implementation of extra functionality provided by libSBML.
LibSBML provides facilities for resolving SBML documents in various ways from a given URI. Resolvers are implemented as objects derived from the class SBMLResolver.
The resolver registry maintains a list of known resolvers and provides methods for discovering them. It is implemented as a singleton object of class SBMLResolverRegistry. Callers can use the method SBMLResolverRegistry::getNumResolvers() to find out how many resolvers are registered, then use SBMLResolverRegistry::getResolverByIndex() to iterate over each one;
Public Member Functions | |
int | addOwnedSBMLDocument (const SBMLDocument *doc) |
Adds the given SBMLDocument* to the registry of SBML documents that will need to be deleted. More... | |
int | addResolver (const SBMLResolver *resolver) |
Adds the given resolver to the registry of SBML resolvers. More... | |
int | getNumResolvers () const |
Returns the number of resolvers known by the registry. More... | |
SBMLResolver * | getResolverByIndex (int index) const |
Returns the resolver with the given index number. More... | |
int | removeResolver (int index) |
Removes the resolver with the given index. More... | |
virtual SBMLDocument * | resolve (const std::string &uri, const std::string baseUri="") const |
Resolves the document for the given URI. More... | |
virtual SBMLUri * | resolveUri (const std::string &uri, const std::string baseUri="") const |
Resolves the full URI for the given URI without actually reading the document. More... | |
virtual | ~SBMLResolverRegistry () |
Destructor. More... | |
Static Public Member Functions | |
static void | deleteResolerRegistryInstance () |
deletes the static resolver registry instance More... | |
static SBMLResolverRegistry & | getInstance () |
Returns the singleton instance for the resolver registry. More... | |
|
virtual |
Destructor.
int SBMLResolverRegistry::addOwnedSBMLDocument | ( | const SBMLDocument * | doc | ) |
Adds the given SBMLDocument* to the registry of SBML documents that will need to be deleted.
When calculating reference cycles, sometimes we need SBML Documents to persist, but nobody else owns them directly. We hand them to the registry here so they can be cleaned up
doc | the SBML Document to add to the registry. |
int SBMLResolverRegistry::addResolver | ( | const SBMLResolver * | resolver | ) |
Adds the given resolver to the registry of SBML resolvers.
resolver | the resolver to add to the registry. |
|
static |
deletes the static resolver registry instance
|
static |
Returns the singleton instance for the resolver registry.
Prior to using the registry, callers have to obtain a copy of the registry. This static method provides the means for doing that.
int SBMLResolverRegistry::getNumResolvers | ( | ) | const |
Returns the number of resolvers known by the registry.
SBMLResolver * SBMLResolverRegistry::getResolverByIndex | ( | int | index | ) | const |
Returns the resolver with the given index number.
Resolvers are given arbitrary index numbers by the registry. Callers can use the method SBMLResolverRegistry::getNumResolvers() to find out how many resolvers are registered, then use this method to iterate over the list and obtain each one in turn.
index | the zero-based index of the resolver to fetch. |
NULL
if the number is less than 0
or there is no resolver at the given index position. int SBMLResolverRegistry::removeResolver | ( | int | index | ) |
Removes the resolver with the given index.
index | the index of the resolver to be removed. |
|
virtual |
Resolves the document for the given URI.
uri | the URI to the target document. |
baseUri | base URI, in case the URI is a relative one. |
NULL
.
|
virtual |
Resolves the full URI for the given URI without actually reading the document.
uri | the URI to the target document. |
baseUri | base URI, in case the URI is a relative one. |
NULL
.