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. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
This is the Groups package extension of the SBMLExtension class that is used to facilitate libSBML plug-ins in the implementation of an SBMLLevel 3 package.
Public Member Functions | |
virtual void | addL2Namespaces (XMLNamespaces *xmlns) const |
Adds the package's Level 2 namespace(s). More... | |
virtual GroupsExtension * | clone () const |
Creates and returns a deep copy of this GroupsExtension 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 SBML Level 3 package ("groups"). 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 GroupsPkgNamespaces object. More... | |
virtual const char * | getStringFromTypeCode (int typeCode) const |
Takes a type code of the “groups” 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... | |
GroupsExtension () | |
Creates a new GroupsExtension instance. More... | |
GroupsExtension (const GroupsExtension &orig) | |
Copy constructor for GroupsExtension. 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... | |
GroupsExtension & | operator= (const GroupsExtension &rhs) |
Assignment operator for GroupsExtension. 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 | ~GroupsExtension () |
Destructor for GroupsExtension. More... | |
Static Public Member Functions | |
static unsigned int | getDefaultLevel () |
Returns the default SBML Level implemented by this libSBML 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 implemented by this libSBML 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... | |
GroupsExtension::GroupsExtension | ( | ) |
Creates a new GroupsExtension instance.
GroupsExtension::GroupsExtension | ( | const GroupsExtension & | orig | ) |
Copy constructor for GroupsExtension.
orig | the GroupsExtension instance to copy. |
|
virtual |
Destructor for GroupsExtension.
|
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"); |
Reimplemented in LayoutExtension, and RenderExtension.
|
virtual |
Creates and returns a deep copy of this GroupsExtension 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 LayoutExtension, and RenderExtension.
|
static |
Returns the default SBML Level implemented by this libSBML extension.
|
static |
Returns the default version of the SBML Level 3 package implemented by this libSBML extension.
|
static |
Returns the default SBML Version implemented by this libSBML extension.
|
virtual |
Returns the SBML Level for the given URI of this package.
uri | the string of the URI that represents one of the versions of the "groups" package. |
0
if the given URI is invalid, or for a different package. Implements SBMLExtension.
|
virtual |
Returns the name of this SBML Level 3 package ("groups").
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 | the string of the URI that represents one of the versions of the "groups" package. |
0
if the given URI is invalid, or for a different package. Implements SBMLExtension.
|
virtual |
Returns a GroupsPkgNamespaces object.
uri | the string of the URI that represents one of the versions of the "groups" package. |
NULL
if the given URI is not defined in the "groups" package. Implements SBMLExtension.
|
virtual |
Takes a type code of the “groups” 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 “groups” package. |
typeCode
. If the type code is unrecognized for this implementation of the libSBML “groups” package, the string returned will be "(Unknown
SBML Groups 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.
sbmlLevel | the level of SBML. |
sbmlVersion | the version of SBML. |
pkgVersion | the version of this 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
is necessarily always 3
.)
Implements SBMLExtension.
|
virtual |
Returns the Version within the SBML Level for the given URI of this package.
uri | the string of the URI that represents one of the versions of the "groups" 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 LayoutExtension, and RenderExtension.
|
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. GroupsExtension & GroupsExtension::operator= | ( | const GroupsExtension & | rhs | ) |
Assignment operator for GroupsExtension.
rhs | the GroupsExtension object whose values are to be 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 LayoutExtension, and RenderExtension.
|
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.