libSBML C++ API  5.18.0
SBMLResolver Class Reference
Inheritance diagram for SBMLResolver:
[legend]

Detailed Description

comp Base class for SBML resolvers.

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.

The SBMLResolver class is the base class for the various SBML resolvers: facilities that take a unique identifier as input and return the document associated with that identifier. In SBML, resolvers come into play with the SBML Level 3 Hierarchical Model Composition package; this package includes features that allow a model to be composed from pieces that are external to a given SBML document, which implies the need to be able to identify and locate those external pieces. The SBMLResolver class and its subclasses provide facilities for software applications to be able to do these tasks.

LibSBML provides a number of built-in resolvers, and applications can create their own by subclassing SBMLResolver and following the examples of the existing resolvers. The following are the built-in resolvers in libSBML 5.18.0:

More resolvers may be provided by libSBML in the future. Application authors may also write their own. An example of how to create an HTTP resolver is included with the libSBML distribution in the file SBMLHttpResolverExample.cpp.

See also
SBMLUri
Examples:
SBMLHttpResolverExample.cpp.

Public Member Functions

virtual SBMLResolverclone () const
 Creates and returns a deep copy of this SBMLResolver object. More...
 
SBMLResolveroperator= (const SBMLResolver &rhs)
 Assignment operator for SBMLResolver. More...
 
virtual SBMLDocumentresolve (const std::string &uri, const std::string &baseUri="") const
 Resolves the document for the given URI. More...
 
virtual SBMLUriresolveUri (const std::string &uri, const std::string &baseUri="") const
 Resolves the full URI for the given URI without actually reading the document. More...
 
 SBMLResolver ()
 Creates a new SBMLResolver object. More...
 
 SBMLResolver (const SBMLResolver &c)
 Copy constructor. More...
 
virtual ~SBMLResolver ()
 Destroy this SBMLResolver object. More...
 

Constructor & Destructor Documentation

SBMLResolver::SBMLResolver ( )

Creates a new SBMLResolver object.

SBMLResolver::SBMLResolver ( const SBMLResolver c)

Copy constructor.

Creates a copy of an SBMLResolver object.

Parameters
cthe SBMLResolver object to copy.
SBMLResolver::~SBMLResolver ( )
virtual

Destroy this SBMLResolver object.

Member Function Documentation

SBMLResolver * SBMLResolver::clone ( ) const
virtual

Creates and returns a deep copy of this SBMLResolver object.

Returns
a (deep) copy of this SBMLResolver object.

Reimplemented in SBMLFileResolver.

SBMLResolver & SBMLResolver::operator= ( const SBMLResolver rhs)

Assignment operator for SBMLResolver.

Parameters
rhsthe object whose values are used as the basis of the assignment.
SBMLDocument * SBMLResolver::resolve ( const std::string &  uri,
const std::string &  baseUri = "" 
) const
virtual

Resolves the document for the given URI.

Parameters
urithe URI to the target document.
baseUribase URI, in case the URI is a relative one.
Returns
the document, if this resolver can resolve the document or NULL.

Reimplemented in SBMLFileResolver.

SBMLUri * SBMLResolver::resolveUri ( const std::string &  uri,
const std::string &  baseUri = "" 
) const
virtual

Resolves the full URI for the given URI without actually reading the document.

Parameters
urithe URI to the target document.
baseUribase URI, in case the URI is a relative one.
Returns
the full URI to the document, if this resolver can resolve the document or NULL.

Reimplemented in SBMLFileResolver.