libSBML C# API
5.18.0
|
The CompModelPlugin class inherits from the SBMLSBasePlugin class, and codifies the extensions to the Model class defined in the SBML Level 3 Hierarchical Model Composition (“comp”) package. This extension allows a Model to define Submodels (other Models that are instantiated as new parts of the parent Model), and Ports, a defined interface for including the given Model as a Submodel of a different Model.
Submodels are stored in an optional child ListOfSubmodels object, which, if present, must contain one or more Submodel objects. All of the Submodels present in the ListOfSubmodels are defined to be instantiated in the 'complete' Model.
Ports are stored in an optional child ListOfPorts object, which, if present, must contain one or more Port objects. All of the Ports present in the ListOfPorts collectively define the 'port interface' of the Model.
Public Member Functions | |
int | addPort (Port port) |
Adds a copy of the given Port object to the list of ports. More... | |
int | addReplacedElement (ReplacedElement replacedElement) |
Adds a copy of the given ReplacedElement object to the list of ReplacedElements. More... | |
int | addSubmodel (Submodel submodel) |
Adds a copy of the given Submodel object to the list of submodels. More... | |
new void | clearReplacedElements () |
Remove all ReplacedElements, if any exist. More... | |
new SBasePlugin | clone () |
Creates and returns a deep copy of this CompModelPlugin object. More... | |
CompModelPlugin (string uri, string prefix, CompPkgNamespaces compns) | |
Creates a new CompModelPlugin object using the given parameters. More... | |
CompModelPlugin (CompModelPlugin orig) | |
Copy constructor. More... | |
void | connectToParent (SBase parent) |
Port | createPort () |
Creates a Port object, adds it to the end of the port objects list and returns a pointer to the newly created object. More... | |
ReplacedBy | createReplacedBy () |
Creates a new, empty ReplacedBy, adds it to this CompSBasePlugin and returns the created ReplacedBy. More... | |
ReplacedElement | createReplacedElement () |
Creates a ReplacedElement object, adds it to the end of the ReplacedElement objects list and returns a pointer to the newly created object. More... | |
Submodel | createSubmodel () |
Creates a Submodel object, adds it to the end of the submodel objects list and returns a pointer to the newly created object. More... | |
override void | Dispose () |
long | getColumn () |
string | getDivider () |
Get the string used as the divider between names when renaming and flattening models. More... | |
new SBase | getElementByMetaId (string metaid) |
Returns the first child element it can find with the given meta identifier, or itself if it has the given metaid , or null if no such object is found. More... | |
new SBase | getElementBySId (string id) |
Returns the first child element found that has the given id in the model-wide SId namespace, or null if no such object is found. More... | |
string | getElementNamespace () |
Returns the namespace URI of the package to which this plugin object belongs. More... | |
long | getLevel () |
Returns the SBML Level of the package extension of this plugin object. More... | |
long | getLine () |
SBaseList | getListOfAllElements (ElementFilter filter) |
SBaseList | getListOfAllElements () |
ListOfPorts | getListOfPorts () |
Returns the ListOfPorts from this CompModelPlugin. More... | |
ListOfReplacedElements | getListOfReplacedElements () |
Returns the ListOf object that holds all replacedElements. More... | |
ListOfSubmodels | getListOfSubmodels () |
Returns the ListOfSubmodels from this CompModelPlugin. More... | |
long | getNumPorts () |
Returns the number of ports for this CompModelPlugin. More... | |
long | getNumReplacedElements () |
Returns the number of ReplacedElements for this CompSBasePlugin. More... | |
long | getNumSubmodels () |
Returns the number of submodels for this CompModelPlugin. More... | |
string | getPackageName () |
Returns the short-form name of the package to which this plugin object belongs. More... | |
long | getPackageVersion () |
Returns the package version of the package extension of this plugin object. More... | |
SBase | getParentSBMLObject () |
Returns the parent object to which this plugin object is connected. More... | |
Port | getPort (long n) |
Returns the port with the given index. More... | |
Port | getPort (string id) |
Returns the port with the given identifier. More... | |
string | getPrefix () |
Returns the XML namespace prefix of the package to which this plugin object belongs. More... | |
ReplacedBy | getReplacedBy () |
Get the child ReplacedBy of this SBase. More... | |
ReplacedElement | getReplacedElement (long n) |
Returns the ReplacedElement with the given index. More... | |
SBMLDocument | getSBMLDocument () |
Returns the SBMLDocument object containing this object instance. More... | |
SBMLExtension | getSBMLExtension () |
Submodel | getSubmodel (long n) |
Returns the submodel with the given index. More... | |
Submodel | getSubmodel (string id) |
Returns the submodel with the given identifier. More... | |
SWIGTYPE_p_PrefixTransformer | getTransformer () |
string | getURI () |
Returns the XML namespace URI for the package to which this object belongs. More... | |
long | getVersion () |
Returns the Version within the SBML Level of the package extension of this plugin object. More... | |
bool | isSetReplacedBy () |
Predicate for testing whether the ReplacedBy for this SBase is set. More... | |
bool | isSetTransformer () |
new bool | isValidTypeForList (SBase item) |
new void | logInvalidId (string attribute, string wrongattribute) |
Helper to log a common type of error. More... | |
Port | removePort (long index) |
Removes the port with the given index. More... | |
ReplacedElement | removeReplacedElement (long index) |
Removes the ReplacedElement with the given index. More... | |
Submodel | removeSubmodel (long index) |
Removes the submodel with the given index. More... | |
new void | renameMetaIdRefs (string oldid, string newid) |
Replaces all uses of a given meta identifier attribute value with another value. More... | |
new void | renameSIdRefs (string oldid, string newid) |
Replaces all uses of a given SIdRef type attribute value with another value. More... | |
new void | renameUnitSIdRefs (string oldid, string newid) |
Replaces all uses of a given UnitSIdRef type attribute value with another value. More... | |
int | setDivider (string divider) |
Set the string used as the divider between names when renaming and flattening models. More... | |
int | setElementNamespace (string uri) |
Sets the XML namespace to which this object belongs. More... | |
int | setReplacedBy (ReplacedBy replacedBy) |
Sets the ReplacedBy definition of this SBase to a copy of the given ReplacedBy object instance. More... | |
void | setTransformer (SWIGTYPE_p_PrefixTransformer transformer) |
Sets the custom transformer that is to be used, instead of the standard prefixing with the given divider. More... | |
new int | unsetReplacedBy () |
Unsets the child ReplacedBy of this SBase. More... | |
void | unsetTransformer () |
Unsets any custom prefix transformers. More... | |
Protected Attributes | |
bool | swigCMemOwn |
libsbmlcs.CompModelPlugin.CompModelPlugin | ( | string | uri, |
string | prefix, | ||
CompPkgNamespaces | compns | ||
) |
Creates a new CompModelPlugin object using the given parameters.
In the XML representation of an SBML document, XML namespaces are used to identify the origin of each XML construct used. XML namespaces are identified by their unique resource identifiers (URIs). The core SBML specifications stipulate the namespaces that must be used for core SBML constructs; for example, all XML elements that belong to SBML Level 3 Version 1 Core must be placed in the XML namespace identified by the URI 'http://www.sbml.org/sbml/level3/version1/core'
. Individual SBML Level 3 packages define their own XML namespaces; for example, all elements belonging to the SBML Level 3 Layout Version 1 package must be placed in the XML namespace 'http://www.sbml.org/sbml/level3/version1/layout/version1/'
.
The SBMLNamespaces object encapsulates SBML Level/Version/namespaces information. It is used to communicate the SBML Level, Version, and (in Level 3) packages used in addition to SBML Level 3 Core. A common approach to using libSBML's SBMLNamespaces facilities is to create an SBMLNamespaces object somewhere in a program once, then hand that object as needed to object constructors that accept SBMLNamespaces as arguments.
uri | the URI of the SBML Level 3 package implemented by this libSBML package extension. |
prefix | the XML namespace prefix being used for the package. |
compns | the namespaces object for the package. |
libsbmlcs.CompModelPlugin.CompModelPlugin | ( | CompModelPlugin | orig | ) |
Copy constructor.
Creates a copy of this CompModelPlugin object.
orig | the instance to copy. |
int libsbmlcs.CompModelPlugin.addPort | ( | Port | port | ) |
Adds a copy of the given Port object to the list of ports.
port | the Port object to be added to the list of ports. Fails if the added port is null , does not match the level/version/package of the parent object, or cannot be added to the list of ports. |
|
inherited |
Adds a copy of the given ReplacedElement object to the list of ReplacedElements.
replacedElement | the ReplacedElement object to be added to the list of ReplacedElements. Fails if the added ReplacedElement is null , does not match the level/version/package of the parent object, or cannot be added to the list of replaced elements. |
int libsbmlcs.CompModelPlugin.addSubmodel | ( | Submodel | submodel | ) |
Adds a copy of the given Submodel object to the list of submodels.
Fails if the added submodel is null
, does not match the level/version/package of the parent object, or cannot be added to the list of submodels.
submodel | the Submodel object to be added to the list of submodels. |
|
inherited |
Remove all ReplacedElements, if any exist.
new SBasePlugin libsbmlcs.CompModelPlugin.clone | ( | ) |
Creates and returns a deep copy of this CompModelPlugin object.
void libsbmlcs.CompModelPlugin.connectToParent | ( | SBase | parent | ) |
Port libsbmlcs.CompModelPlugin.createPort | ( | ) |
|
inherited |
Creates a new, empty ReplacedBy, adds it to this CompSBasePlugin and returns the created ReplacedBy.
|
inherited |
Creates a ReplacedElement object, adds it to the end of the ReplacedElement objects list and returns a pointer to the newly created object.
Submodel libsbmlcs.CompModelPlugin.createSubmodel | ( | ) |
|
virtual |
Reimplemented from libsbmlcs.SBasePlugin.
|
inherited |
string libsbmlcs.CompModelPlugin.getDivider | ( | ) |
Get the string used as the divider between names when renaming and flattening models.
The divider string consists of two underscore characters ("__
") by default, and can be overridden with the setDivider() function.
new SBase libsbmlcs.CompModelPlugin.getElementByMetaId | ( | string | metaid | ) |
Returns the first child element it can find with the given meta identifier, or itself if it has the given metaid
, or null
if no such object is found.
metaid | a string representing the metaid of the object to find. |
metaid
. new SBase libsbmlcs.CompModelPlugin.getElementBySId | ( | string | id | ) |
Returns the first child element found that has the given id
in the model-wide SId namespace, or null
if no such object is found.
id | a string representing the id of the object to find. |
id
.
|
inherited |
Returns the namespace URI of the package to which this plugin object belongs.
|
inherited |
Returns the SBML Level of the package extension of this plugin object.
|
inherited |
|
inherited |
|
inherited |
ListOfPorts libsbmlcs.CompModelPlugin.getListOfPorts | ( | ) |
Returns the ListOfPorts from this CompModelPlugin.
|
inherited |
ListOfSubmodels libsbmlcs.CompModelPlugin.getListOfSubmodels | ( | ) |
Returns the ListOfSubmodels from this CompModelPlugin.
long libsbmlcs.CompModelPlugin.getNumPorts | ( | ) |
Returns the number of ports for this CompModelPlugin.
|
inherited |
Returns the number of ReplacedElements for this CompSBasePlugin.
long libsbmlcs.CompModelPlugin.getNumSubmodels | ( | ) |
Returns the number of submodels for this CompModelPlugin.
|
inherited |
Returns the short-form name of the package to which this plugin object belongs.
|
inherited |
Returns the package version of the package extension of this plugin object.
|
inherited |
Returns the parent object to which this plugin object is connected.
Port libsbmlcs.CompModelPlugin.getPort | ( | long | n | ) |
Returns the port with the given index.
n | the index number of the Port to get. |
n
is invalid, null
is returned. Port libsbmlcs.CompModelPlugin.getPort | ( | string | id | ) |
Returns the port with the given identifier.
id | the id of the Port to get. |
null
is returned.
|
inherited |
Returns the XML namespace prefix of the package to which this plugin object belongs.
|
inherited |
Get the child ReplacedBy of this SBase.
|
inherited |
Returns the ReplacedElement with the given index.
n | the index number of the ReplacedElement to get. |
null
is returned.
|
inherited |
Returns the SBMLDocument object containing this object instance.
LibSBML uses the class SBMLDocument as a top-level container for storing SBML content and data associated with it (such as warnings and error messages). An SBML model in libSBML is contained inside an SBMLDocument object. SBMLDocument corresponds roughly to the class SBML defined in the SBML Level 3 and Level 2 specifications, but it does not have a direct correspondence in SBML Level 1. (But, it is created by libSBML no matter whether the model is Level 1, Level 2 or Level 3.)
This method allows the caller to obtain the SBMLDocument for the current object.
|
inherited |
Submodel libsbmlcs.CompModelPlugin.getSubmodel | ( | long | n | ) |
Returns the submodel with the given index.
If the index is invalid, null
is returned.
n | the index number of the Submodel to get. |
null
if no such object exists. Submodel libsbmlcs.CompModelPlugin.getSubmodel | ( | string | id | ) |
Returns the submodel with the given identifier.
id | the identifier of the Submodel to get. |
id
exists, null
is returned. SWIGTYPE_p_PrefixTransformer libsbmlcs.CompModelPlugin.getTransformer | ( | ) |
|
inherited |
Returns the XML namespace URI for the package to which this object belongs.
In the XML representation of an SBML document, XML namespaces are used to identify the origin of each XML construct used. XML namespaces are identified by their unique resource identifiers (URIs). The core SBML specifications stipulate the namespaces that must be used for core SBML constructs; for example, all XML elements that belong to SBML Level 3 Version 1 Core must be placed in the XML namespace identified by the URI 'http://www.sbml.org/sbml/level3/version1/core'
. Individual SBML Level 3 packages define their own XML namespaces; for example, all elements belonging to the SBML Level 3 Layout Version 1 package must be placed in the XML namespace 'http://www.sbml.org/sbml/level3/version1/layout/version1/'
.
This method first looks into the SBMLNamespaces object possessed by the parent SBMLDocument object of the current object. If this cannot be found, this method returns the result of getElementNamespace().
|
inherited |
Returns the Version within the SBML Level of the package extension of this plugin object.
|
inherited |
Predicate for testing whether the ReplacedBy for this SBase is set.
true
if the ReplacedBy of this SBase is set, false
otherwise. bool libsbmlcs.CompModelPlugin.isSetTransformer | ( | ) |
|
inherited |
|
inherited |
Helper to log a common type of error.
Port libsbmlcs.CompModelPlugin.removePort | ( | long | index | ) |
Removes the port with the given index.
The caller owns the returned item and is responsible for deleting it.
index | the index of the Port object to remove. |
null
is returned if the given index is out of range.
|
inherited |
Removes the ReplacedElement with the given index.
A pointer to the ReplacedElement that was removed is returned. If no ReplacedElement has been removed, null
is returned.
index | the index of the ReplacedElement object to remove. |
null
is returned if the given index is out of range. Submodel libsbmlcs.CompModelPlugin.removeSubmodel | ( | long | index | ) |
Removes the submodel with the given index.
A pointer to the submodel that was removed is returned. The caller owns the returned item and is responsible for deleting it.
index | the index of the Submodel object to remove. |
null
is returned if the given index
is out of range and no submodel has been removed, null
is returned.
|
inherited |
Replaces all uses of a given meta identifier attribute value with another value.
In SBML, object 'meta' identifiers are of the XML data type ID
; the SBML object attribute itself is typically named metaid
. All attributes that hold values referring to values of type ID
are of the XML data type IDREF
. They are also sometimes informally referred to as 'metaid refs', in analogy to the SBML-defined type SIdRef
.
This method works by looking at all meta-identifier attribute values, comparing the identifiers to the value of oldid
. If any matches are found, the matching identifiers are replaced with newid
. The method does not descend into child elements.
oldid | the old identifier. |
newid | the new identifier. |
|
inherited |
Replaces all uses of a given SIdRef
type attribute value with another value.
In SBML, object identifiers are of a data type called SId
. In SBML Level 3, an explicit data type called SIdRef
was introduced for attribute values that refer to SId
values; in previous Levels of SBML, this data type did not exist and attributes were simply described to as 'referring to an identifier', but the effective data type was the same as SIdRef
in Level 3. These and other methods of libSBML refer to the type SIdRef
for all Levels of SBML, even if the corresponding SBML specification did not explicitly name the data type.
This method works by looking at all attributes and (if appropriate) mathematical formulas in MathML content, comparing the referenced identifiers to the value of oldid
. If any matches are found, the matching values are replaced with newid
. The method does not descend into child elements.
oldid | the old identifier. |
newid | the new identifier. |
|
inherited |
Replaces all uses of a given UnitSIdRef
type attribute value with another value.
In SBML, unit definitions have identifiers of type UnitSId
. In SBML Level 3, an explicit data type called UnitSIdRef
was introduced for attribute values that refer to UnitSId
values; in previous Levels of SBML, this data type did not exist and attributes were simply described to as 'referring to a unit identifier', but the effective data type was the same as UnitSIdRef
in Level 3. These and other methods of libSBML refer to the type UnitSIdRef
for all Levels of SBML, even if the corresponding SBML specification did not explicitly name the data type.
This method works by looking at all unit identifier attribute values (including, if appropriate, inside mathematical formulas), comparing the referenced unit identifiers to the value of oldid
. If any matches are found, the matching values are replaced with newid
. The method does not descend into child elements.
oldid | the old identifier. |
newid | the new identifier. |
int libsbmlcs.CompModelPlugin.setDivider | ( | string | divider | ) |
Set the string used as the divider between names when renaming and flattening models.
The divider string consists of two underscore characters ("__
") by default. This method will fail if called with an empty divider
, or a divider
that cannot be used internally as part of a valid SBML SId.
|
inherited |
Sets the XML namespace to which this object belongs.
In the XML representation of an SBML document, XML namespaces are used to identify the origin of each XML construct used. XML namespaces are identified by their unique resource identifiers (URIs). The core SBML specifications stipulate the namespaces that must be used for core SBML constructs; for example, all XML elements that belong to SBML Level 3 Version 1 Core must be placed in the XML namespace identified by the URI 'http://www.sbml.org/sbml/level3/version1/core'
. Individual SBML Level 3 packages define their own XML namespaces; for example, all elements belonging to the SBML Level 3 Layout Version 1 package must be placed in the XML namespace 'http://www.sbml.org/sbml/level3/version1/layout/version1/'
.
uri | the URI to assign to this object. |
|
inherited |
Sets the ReplacedBy definition of this SBase to a copy of the given ReplacedBy object instance.
This method fails if the added ReplacedBy does not match the level/version/package of the parent object or if the added ReplacedBy cannot be copied.
replacedBy | the ReplacedBy object instance to use. |
void libsbmlcs.CompModelPlugin.setTransformer | ( | SWIGTYPE_p_PrefixTransformer | transformer | ) |
Sets the custom transformer that is to be used, instead of the standard prefixing with the given divider.
This makes it possible to finely control how elements are altered.
If not set, only ids and meta ids will be prefixed.
NOTE: the model plugin only holds the pointer to the element it does not take ownership of it. Thus the calling program is responsible of freeing the transformer when no longer needed (i.e after the SBML document has been deleted)
transformer | the prefix transformer to use. |
|
inherited |
Unsets the child ReplacedBy of this SBase.
void libsbmlcs.CompModelPlugin.unsetTransformer | ( | ) |
Unsets any custom prefix transformers.
|
protectedinherited |