libSBML C++ API
5.20.2
|
This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
This is the Multistate, Multicomponent and Multicompartment Species package extension of the SBMLExtension class. This is a class that every libSBML plug-in must implement in order to implement an SBML Level 3 package.
Public Member Functions | |
virtual void | addL2Namespaces (XMLNamespaces *xmlns) const |
Adds the package's Level 2 namespace(s). More... | |
virtual MultiExtension * | clone () const |
Creates and returns a deep copy of this MultiExtension object. More... | |
virtual void | enableL2NamespaceForDocument (SBMLDocument *doc) const |
Called to enable the package on the SBMLDocument object. More... | |
virtual unsigned int | getLevel (const std::string &uri) const |
Returns the SBML Level for the given URI of this package. More... | |
virtual const std::string & | getName () const |
Returns the name of this package ("multi") More... | |
int | getNumOfSBasePlugins () const |
Returns the number of SBasePluginCreatorBase objects stored in this object. More... | |
unsigned int | getNumOfSupportedPackageURI () const |
Returns the number of supported package namespace URIs. More... | |
virtual unsigned int | getPackageVersion (const std::string &uri) const |
Returns the SBML Level 3 package version for the given URI of this package. More... | |
virtual SBMLNamespaces * | getSBMLExtensionNamespaces (const std::string &uri) const |
Returns a MultiPkgNamespaces object. More... | |
virtual const char * | getStringFromTypeCode (int typeCode) const |
Takes a type code of the "multi" package and returns a string describing the code. More... | |
const std::string & | getSupportedPackageURI (unsigned int n) const |
Returns the nth XML namespace URI. More... | |
virtual const std::string & | getURI (unsigned int sbmlLevel, unsigned int sbmlVersion, unsigned int pkgVersion) const |
Returns a string representing the SBML XML namespace of this SBML Level 3 package. More... | |
virtual unsigned int | getVersion (const std::string &uri) const |
Returns the Version within the SBML Level for the given URI of this package. More... | |
bool | isEnabled () const |
Returns true if this package is enabled. More... | |
virtual bool | isInUse (SBMLDocument *doc) const |
Indicates whether this extension is being used by the given SBMLDocument. More... | |
bool | isSupported (const std::string &uri) const |
Returns true if the given XML namespace URI is supported by this package extension. More... | |
MultiExtension () | |
Creates a new MultiExtension instance. More... | |
MultiExtension (const MultiExtension &orig) | |
Copy constructor for MultiExtension. More... | |
MultiExtension & | operator= (const MultiExtension &rhs) |
Assignment operator for MultiExtension. More... | |
virtual void | removeL2Namespaces (XMLNamespaces *xmlns) const |
Removes the package's Level 2 namespace(s). More... | |
bool | setEnabled (bool isEnabled) |
Enable or disable this package. More... | |
virtual | ~MultiExtension () |
Destructor for MultiExtension. More... | |
Static Public Member Functions | |
static unsigned int | getDefaultLevel () |
Returns the default SBML Level used by this libSBML package extension. More... | |
static unsigned int | getDefaultPackageVersion () |
Returns the default version of the SBML Level 3 package implemented by this libSBML extension. More... | |
static unsigned int | getDefaultVersion () |
Returns the default SBML Version used by this libSBML package extension. More... | |
static const std::string & | getPackageName () |
Returns the nickname of the SBML Level 3 package implemented by this libSBML extension. More... | |
static const std::string & | getXmlnsL3V1V1 () |
Returns the XML namespace URI of the SBML Level 3 package implemented by this libSBML extension. More... | |
MultiExtension::MultiExtension | ( | ) |
Creates a new MultiExtension instance.
MultiExtension::MultiExtension | ( | const MultiExtension & | orig | ) |
Copy constructor for MultiExtension.
orig | the instance to copy. |
|
virtual |
Destructor for MultiExtension.
|
virtualinherited |
Adds the package's Level 2 namespace(s).
This virtual method should be overridden by all package extensions that want to serialize to an SBML Level 2 annotation. In Level 2, the XML namespace declaration for the package is not placed on the top-level SBML document object but rather inside individual annotations. addL2Namespaces() is invoked automatically for Level 2 documents when an SBMLExtensionNamespace object is created; removeL2Namespaces() is automatically invoked by SBMLDocument to prevent the namespace(s) from being put on the top-level SBML Level 2 element (because Level 2 doesn't support namespaces there); and enableL2NamespaceForDocument() is called automatically when any SBML document (of any Level/Version) is read in.
xmlns | an XMLNamespaces object that will be used for the annotation. Implementation should override this method with something that adds the package's namespace(s) to the set of namespaces in xmlns . For instance, here is the code from the Layout package extension: if (!xmlns->containsUri( LayoutExtension::getXmlnsL2()))
xmlns->add(LayoutExtension::getXmlnsL2(), "layout");
static const std::string & getXmlnsL2() Returns the XML namespace URI of the SBML Level 2 version of the package implemented by this libSBML ... Definition: LayoutExtension.cpp:109 |
Reimplemented in RenderExtension, and LayoutExtension.
|
virtual |
Creates and returns a deep copy of this MultiExtension object.
Implements SBMLExtension.
|
virtualinherited |
Called to enable the package on the SBMLDocument object.
This virtual method should be overridden by all package extensions that want to serialize to an SBML Level 2 annotation. In Level 2, the XML namespace declaration for the package is not placed on the top-level SBML document object but rather inside individual annotations. addL2Namespaces() is invoked automatically for Level 2 documents when an SBMLExtensionNamespace object is created; removeL2Namespaces() is automatically invoked by SBMLDocument to prevent the namespace(s) from being put on the top-level SBML Level 2 element (because Level 2 doesn't support namespaces there); and enableL2NamespaceForDocument() is called automatically when any SBML document (of any Level/Version) is read in.
doc | the SBMLDocument object for the model. Implementations should override this method with something that enables the package based on the package's namespace(s). For example, here is the code from the Layout package extension: if (doc->getLevel() == 2)
|
Reimplemented in RenderExtension, and LayoutExtension.
|
static |
Returns the default SBML Level used by this libSBML package extension.
|
static |
Returns the default version of the SBML Level 3 package implemented by this libSBML extension.
|
static |
Returns the default SBML Version used by this libSBML package extension.
|
virtual |
Returns the SBML Level for the given URI of this package.
uri | a URI that represents a version of this package. |
0
if the given URI is invalid, or for a different package. Implements SBMLExtension.
|
virtual |
Returns the name of this package ("multi")
Implements SBMLExtension.
|
inherited |
Returns the number of SBasePluginCreatorBase objects stored in this object.
|
inherited |
Returns the number of supported package namespace URIs.
|
static |
Returns the nickname of the SBML Level 3 package implemented by this libSBML extension.
|
virtual |
Returns the SBML Level 3 package version for the given URI of this package.
uri | a URI that represents one of the valid versions of this package. |
0
if the given URI is invalid, or for a different package. Implements SBMLExtension.
|
virtual |
Returns a MultiPkgNamespaces object.
uri | a URI that represents one of the valid versions of the "multi" package. |
uri
, or NULL
if the URI is not defined in the Multi package. Implements SBMLExtension.
|
virtual |
Takes a type code of the "multi" package and returns a string describing the code.
typeCode | a libSBML type code defined by the libSBML extension. implementing support for the SBML Level 3 "multi" package. |
typeCode
. If the type code is unrecognized for this implementation of the libSBML "multi" package, the string returned will be "(Unknown SBML Multi Type)"
. Implements SBMLExtension.
|
inherited |
Returns the nth XML namespace URI.
n | the index number of the namespace URI being sought. |
|
virtual |
Returns a string representing the SBML XML namespace of this SBML Level 3 package.
The namespace URI constructed by this method corresponds to the combination of the Level and Version of SBML, and the Version of the SBML Level 3 package. (At the time of this writing, the only SBML Level that supports packages is Level 3, so the value of sbmlLevel
must necessarily always be 3
.)
sbmlLevel | the level of SBML. |
sbmlVersion | the version of SBML. |
pkgVersion | the version of the package. |
Implements SBMLExtension.
|
virtual |
Returns the Version within the SBML Level for the given URI of this package.
uri | a URI that represents a version of this package. |
0
if the given URI is invalid, or for a different package. Implements SBMLExtension.
|
static |
Returns the XML namespace URI of the SBML Level 3 package implemented by this libSBML extension.
|
inherited |
Returns true
if this package is enabled.
true
if this package is enabled, false
otherwise.
|
virtualinherited |
Indicates whether this extension is being used by the given SBMLDocument.
The default implementation returns true
. This means that when a document had this extension enabled, it will not be possible to convert it to SBML Level 2 as we cannot make sure that the extension can be converted.
doc | the SBML document to test. |
Reimplemented in RenderExtension, and LayoutExtension.
|
inherited |
Returns true
if the given XML namespace URI is supported by this package extension.
true
if the given XML namespace URI (equivalent to a package version) is supported by this package extension, false
otherwise. MultiExtension & MultiExtension::operator= | ( | const MultiExtension & | rhs | ) |
Assignment operator for MultiExtension.
rhs | the object whose values are used as the basis of the assignment |
|
virtualinherited |
Removes the package's Level 2 namespace(s).
This virtual method should be overridden by all package extensions that want to serialize to an SBML Level 2 annotation. In Level 2, the XML namespace declaration for the package is not placed on the top-level SBML document object but rather inside individual annotations. addL2Namespaces() is invoked automatically for Level 2 documents when an SBMLExtensionNamespace object is created; removeL2Namespaces() is automatically invoked by SBMLDocument to prevent the namespace(s) from being put on the top-level SBML Level 2 element (because Level 2 doesn't support namespaces there); and enableL2NamespaceForDocument() is called automatically when any SBML document (of any Level/Version) is read in.
xmlns | an XMLNamespaces object that will be used for the annotation. Implementations should override this method with something that removes the package's namespace(s) from the set of namespaces in xmlns . For instance, here is the code from the Layout package extension: for (int n = 0; n < xmlns->getNumNamespaces(); n++)
{
if (xmlns->getURI(n) == LayoutExtension::getXmlnsL2())
xmlns->remove(n);
}
|
Reimplemented in RenderExtension, and LayoutExtension.
|
inherited |
Enable or disable this package.
isEnabled | flag indicating whether to enable (if true ) or disable (false ) this package extension. |
true
if this call succeeded; false
otherwise.