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.
The use of SBaseExtensionPoint is relatively straightforward. The class needs to be used for each extended SBML object implemented using SBMLDocumentPlugin or SBasePlugin. Doing so requires knowing just two things:
"core"
, but a SBML Level 3 package could conceivably extend another Level 3 package.The typical use of SBaseExtensionPoint is illustrated by the following code fragment:
The code above shows two core SBML components being extended: the document object, and the Model object. These extended objects are created elsewhere (not shown) as the GroupsSBMLDocumentPlugin
and GroupsModelPlugin
objects. The corresponding SBaseExtensionPoint objects are handed as arguments to the constructor for SBasePluginCreator to create the connection between the extended core components and the overall package extension (here, for the Groups package, with the GroupsExtension
object).
The code above is typically placed in the implementation of the init()
method of the package class derived from SBMLExtension. (For the example above, it would be in the GroupsExtension.cpp
file.)
Public Member Functions | |
SBaseExtensionPoint * | clone () const |
Creates and returns a deep copy of this SBaseExtensionPoint object. More... | |
const std::string & | getElementName () const |
the target element name More... | |
const std::string & | getPackageName () const |
Returns the package name of this extension point. More... | |
virtual int | getTypeCode () const |
Returns the libSBML type code of this extension point. More... | |
bool | isElementOnly () const |
SBaseExtensionPoint & | operator= (const SBaseExtensionPoint &rhs) |
SBaseExtensionPoint (const SBaseExtensionPoint &rhs) | |
Copy constructor. More... | |
SBaseExtensionPoint (const std::string &pkgName, int typeCode) | |
Constructor for SBaseExtensionPoint. More... | |
SBaseExtensionPoint (const std::string &pkgName, int typeCode, const std::string &elementName, bool elementOnly=false) | |
Constructor for SBaseExtensionPoint. More... | |
virtual | ~SBaseExtensionPoint () |
Destroys this SBaseExtensionPoint object. More... | |
Private Attributes | |
std::string | mElementName |
bool | mElementOnly |
std::string | mPackageName |
int | mTypeCode |
SBaseExtensionPoint::SBaseExtensionPoint | ( | const std::string & | pkgName, |
int | typeCode | ||
) |
Constructor for SBaseExtensionPoint.
The use of SBaseExtensionPoint is relatively straightforward. The class needs to be used for each extended SBML object implemented using SBMLDocumentPlugin or SBasePlugin. Doing so requires knowing just two things:
"core"
, but a SBML Level 3 package could conceivably extend another Level 3 package and the mechanism supports this.pkgName | the short-form name of the parent package where that this package extension is extending. |
typeCode | the type code of the object being extended. |
SBaseExtensionPoint::SBaseExtensionPoint | ( | const std::string & | pkgName, |
int | typeCode, | ||
const std::string & | elementName, | ||
bool | elementOnly = false |
||
) |
Constructor for SBaseExtensionPoint.
The use of SBaseExtensionPoint is relatively straightforward. The class needs to be used for each extended SBML object implemented using SBMLDocumentPlugin or SBasePlugin. Doing so requires knowing just two things:
"core"
, but a SBML Level 3 package could conceivably extend another Level 3 package and the mechanism supports this.pkgName | the short-form name of the parent package where that this package extension is extending. |
typeCode | the type code of the object being extended. |
elementName | element name for the target element, in case multiple elements match the same type code (as will be the case for ListOf classes). |
elementOnly | flag to be used during the registration of the package, when set then the plugin is only applied to elements whose elementName match. |
|
virtual |
Destroys this SBaseExtensionPoint object.
SBaseExtensionPoint::SBaseExtensionPoint | ( | const SBaseExtensionPoint & | rhs | ) |
Copy constructor.
This creates a copy of an SBaseExtensionPoint instance.
rhs | the object to copy. |
SBaseExtensionPoint * SBaseExtensionPoint::clone | ( | ) | const |
Creates and returns a deep copy of this SBaseExtensionPoint object.
const std::string & SBaseExtensionPoint::getElementName | ( | ) | const |
the target element name
const std::string & SBaseExtensionPoint::getPackageName | ( | ) | const |
Returns the package name of this extension point.
|
virtual |
Returns the libSBML type code of this extension point.
bool SBaseExtensionPoint::isElementOnly | ( | ) | const |
SBaseExtensionPoint & SBaseExtensionPoint::operator= | ( | const SBaseExtensionPoint & | rhs | ) |
|
private |
|
private |
|
private |
|
private |