libSBML C# API  libSBML 5.10.0 C# API
 All Classes Namespaces Files Functions Variables Properties Pages
libsbmlcs.CompModelPlugin Class Reference
Inheritance diagram for libsbmlcs.CompModelPlugin:
[legend]

Detailed Description

{comp}

comp Implementation of the “comp” package extention to the Model construct.

The CompModelPlugin class inherits from the SBMLSBasePlugin class, and codifies the extentions to the Model class defined in the SBML Level 3 comp package (“comp”). This extention 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...
 
void clearReplacedElements ()
 Remove all ReplacedElements, if any exist. More...
 
SBasePlugin clone ()
 Creates and returns a deep copy of this CompModelPlugin object. More...
 
 CompModelPlugin (string uri, string prefix, CompPkgNamespaces compns)
 Constructor. More...
 
 CompModelPlugin (CompModelPlugin orig)
 Copy constructor. More...
 
void connectToChild ()
 Sets the *parent* of this SBML object to child SBML objects (if any). More...
 
void connectToParent (SBase parent)
 Sets the parent SBML object of this SBML object. More...
 
SBase createObject (XMLInputStream stream)
 Create and return an SBML object of this class, if present. More...
 
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 ()
 
void divideAssignmentsToSIdByFunction (string id, ASTNode function)
 If the function of this object is to assign a value has a child 'math' object (or anything with ASTNodes in general), replace the 'math' object with the function (existing/function). More...
 
void enablePackageInternal (string pkgURI, string pkgPrefix, bool flag)
 Enables/Disables the given package with child elements in this plugin object (if any). More...
 
long getColumn ()
 Returns the column number on which this object first appears in the XML representation of the SBML document. More...
 
string getDivider ()
 Get the string used as the divider between names when renaming and flattening models. More...
 
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...
 
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 XML namespace (URI) of the package extension of this plugin object. More...
 
long getLevel ()
 Returns the SBML level of the package extension of this plugin object. More...
 
long getLine ()
 Returns the line number on which this object first appears in the XML representation of the SBML document. More...
 
SBaseList getListOfAllElements (ElementFilter filter)
 
SBaseList getListOfAllElements ()
 
ListOfPorts getListOfPorts ()
 Returns the ListOf object that holds all ports. More...
 
ListOfReplacedElements getListOfReplacedElements ()
 Returns the ListOf object that holds all replacedElements. More...
 
ListOfSubmodels getListOfSubmodels ()
 Returns the ListOf object that holds all submodels. 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 package name of this plugin object. More...
 
long getPackageVersion ()
 Returns the package version of the package extension of this plugin object. More...
 
SBase getParentSBMLObject ()
 Returns the parent SBase object to which this plugin object 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 prefix of the package extension of this plugin object. 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 parent SBMLDocument of this plugin object. More...
 
SBMLNamespaces getSBMLNamespaces ()
 
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 ()
 Gets the URI to which this element belongs to. More...
 
long getVersion ()
 Returns the SBML version of the package extension of this plugin object. More...
 
bool hasIdentifierBeginningWith (string prefix)
 Check to see if the given prefix is used by any of the IDs defined by extension elements. More...
 
bool isSetReplacedBy ()
 Predicate for testing whether the ReplacedBy for this SBase is set. More...
 
bool isSetTransformer ()
 
void logInvalidId (string attribute, string wrongattribute)
 Helper to log a common type of error. More...
 
void logUnknownElement (string element, long sbmlLevel, long sbmlVersion, long pkgVersion)
 Helper to log a common type of error for elements. More...
 
void multiplyAssignmentsToSIdByFunction (string id, ASTNode function)
 If this assignment assigns a value to the 'id' element, replace the 'math' object with the function (existing*function). More...
 
int prependStringToAllIdentifiers (string prefix)
 Add the given string to all identifiers in the object. 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...
 
void replaceSIDWithFunction (string id, ASTNode function)
 If this object has a child 'math' object (or anything with ASTNodes in general), replace all nodes with the name 'id' with the provided function. 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 element belongs to. 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...
 
bool stripPackage (string pkgPrefix, bool flag)
 
int transformIdentifiers (IdentifierTransformer sidTransformer)
 
int unsetReplacedBy ()
 Unsets the child ReplacedBy of this SBase. More...
 
void unsetTransformer ()
 Unsets any custom prefix transformers. More...
 

Protected Attributes

bool swigCMemOwn
 

Constructor & Destructor Documentation

libsbmlcs.CompModelPlugin.CompModelPlugin ( string  uri,
string  prefix,
CompPkgNamespaces  compns 
)

Constructor.

libsbmlcs.CompModelPlugin.CompModelPlugin ( CompModelPlugin  orig)

Copy constructor.

Creates a copy of this CompModelPlugin object.

Member Function Documentation

int libsbmlcs.CompModelPlugin.addPort ( Port  port)

Adds a copy of the given Port object to the list of ports.

Parameters
portthe 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.
Returns
integer value indicating success/failure of the operation. The possible return values:
int libsbmlcs.CompSBasePlugin.addReplacedElement ( ReplacedElement  replacedElement)
inherited

Adds a copy of the given ReplacedElement object to the list of ReplacedElements.

Parameters
replacedElementthe 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.
Returns
integer value indicating success/failure of the operation. The possible return values are:
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.

Parameters
submodelthe Submodel object to be added to the list of submodels.
Returns
integer value indicating success/failure of the operation. The possible return values are:
void libsbmlcs.CompSBasePlugin.clearReplacedElements ( )
inherited

Remove all ReplacedElements, if any exist.

SBasePlugin libsbmlcs.CompModelPlugin.clone ( )

Creates and returns a deep copy of this CompModelPlugin object.

Returns
a (deep) copy of this CompModelPlugin object
void libsbmlcs.CompModelPlugin.connectToChild ( )

Sets the *parent* of this SBML object to child SBML objects (if any).

(Creates a child-parent relationship by the parent)

See also
setSBMLDocument
enablePackageInternal
void libsbmlcs.CompModelPlugin.connectToParent ( SBase  parent)

Sets the parent SBML object of this SBML object.

(Creates a child-parent relationship by the child) This function is called when a child element is set/added/created by its parent element (e.g. by setXXX, addXXX, createXXX, and connectToChild functions of the parent element).

Parameters
parentthe SBML object to use
SBase libsbmlcs.CompModelPlugin.createObject ( XMLInputStream  stream)

Create and return an SBML object of this class, if present.

Returns
the SBML object corresponding to next XMLToken in the XMLInputStream or null if the token was not recognized.
Port libsbmlcs.CompModelPlugin.createPort ( )

Creates a Port object, adds it to the end of the port objects list and returns a pointer to the newly created object.

Returns
a newly created Port object
ReplacedBy libsbmlcs.CompSBasePlugin.createReplacedBy ( )
inherited

Creates a new, empty ReplacedBy, adds it to this CompSBasePlugin and returns the created ReplacedBy.

Returns
the newly created ReplacedBy object instance
ReplacedElement libsbmlcs.CompSBasePlugin.createReplacedElement ( )
inherited

Creates a ReplacedElement object, adds it to the end of the ReplacedElement objects list and returns a pointer to the newly created object.

Returns
a newly created ReplacedElement object
Submodel libsbmlcs.CompModelPlugin.createSubmodel ( )

Creates a Submodel object, adds it to the end of the submodel objects list and returns a pointer to the newly created object.

Returns
a newly created Submodel object
override void libsbmlcs.CompModelPlugin.Dispose ( )
virtual

Reimplemented from libsbmlcs.SBasePlugin.

void libsbmlcs.SBasePlugin.divideAssignmentsToSIdByFunction ( string  id,
ASTNode  function 
)
inherited

If the function of this object is to assign a value has a child 'math' object (or anything with ASTNodes in general), replace the 'math' object with the function (existing/function).

Note
This function does nothing itself–subclasses with ASTNode subelements must override this function.
void libsbmlcs.CompModelPlugin.enablePackageInternal ( string  pkgURI,
string  pkgPrefix,
bool  flag 
)

Enables/Disables the given package with child elements in this plugin object (if any).

(This is an internal implementation invoked from SBase::enablePackageInternal() function)

Note
Subclasses in which one or more SBase derived elements are defined must override this function.
See also
setSBMLDocument
connectToParent
long libsbmlcs.SBasePlugin.getColumn ( )
inherited

Returns the column number on which this object first appears in the XML representation of the SBML document.

Returns
the column number of the underlying SBML object.
Note
The column number for each construct in an SBML model is set upon reading the model. The accuracy of the column number depends on the correctness of the XML representation of the model, and on the particular XML parser library being used. The former limitation relates to the following problem: if the model is actually invalid XML, then the parser may not be able to interpret the data correctly and consequently may not be able to establish the real column number. The latter limitation is simply that different parsers seem to have their own accuracy limitations, and out of all the parsers supported by libSBML, none have been 100% accurate in all situations. (At this time, libSBML supports the use of libxml2, Expat and Xerces.)
See also
getLine()
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.

See also
setDivider(string divider)
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.

Parameters
metaida string representing the metaid of objects to find.
Returns
a pointer to the SBase element with the given metaid.
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.

Parameters
ida string representing the id of objects to find.
Returns
a pointer to the SBase element with the given id.
string libsbmlcs.SBasePlugin.getElementNamespace ( )
inherited

Returns the XML namespace (URI) of the package extension of this plugin object.

Returns
the URI of the package extension of this plugin object.
long libsbmlcs.SBasePlugin.getLevel ( )
inherited

Returns the SBML level of the package extension of this plugin object.

Returns
the SBML level of the package extension of this plugin object.
long libsbmlcs.SBasePlugin.getLine ( )
inherited

Returns the line number on which this object first appears in the XML representation of the SBML document.

Returns
the line number of the underlying SBML object.
Note
The line number for each construct in an SBML model is set upon reading the model. The accuracy of the line number depends on the correctness of the XML representation of the model, and on the particular XML parser library being used. The former limitation relates to the following problem: if the model is actually invalid XML, then the parser may not be able to interpret the data correctly and consequently may not be able to establish the real line number. The latter limitation is simply that different parsers seem to have their own accuracy limitations, and out of all the parsers supported by libSBML, none have been 100% accurate in all situations. (At this time, libSBML supports the use of libxml2, Expat and Xerces.)
See also
getColumn()
SBaseList libsbmlcs.SBasePlugin.getListOfAllElements ( ElementFilter  filter)
inherited
SBaseList libsbmlcs.SBasePlugin.getListOfAllElements ( )
inherited
ListOfPorts libsbmlcs.CompModelPlugin.getListOfPorts ( )

Returns the ListOf object that holds all ports.

Returns
the ListOf object that holds all ports.
ListOfReplacedElements libsbmlcs.CompSBasePlugin.getListOfReplacedElements ( )
inherited

Returns the ListOf object that holds all replacedElements.

Returns
the ListOf object that holds all replacedElements.
ListOfSubmodels libsbmlcs.CompModelPlugin.getListOfSubmodels ( )

Returns the ListOf object that holds all submodels.

Returns
the ListOf object that holds all submodels.
long libsbmlcs.CompModelPlugin.getNumPorts ( )

Returns the number of ports for this CompModelPlugin.

Returns
the number of ports for this CompModelPlugin.
long libsbmlcs.CompSBasePlugin.getNumReplacedElements ( )
inherited

Returns the number of ReplacedElements for this CompSBasePlugin.

Returns
the number of ReplacedElements for this CompSBasePlugin.
long libsbmlcs.CompModelPlugin.getNumSubmodels ( )

Returns the number of submodels for this CompModelPlugin.

Returns
the number of submodels for this CompModelPlugin.
string libsbmlcs.SBasePlugin.getPackageName ( )
inherited

Returns the package name of this plugin object.

Returns
the package name of this plugin object.
long libsbmlcs.SBasePlugin.getPackageVersion ( )
inherited

Returns the package version of the package extension of this plugin object.

Returns
the package version of the package extension of this plugin object.
SBase libsbmlcs.SBasePlugin.getParentSBMLObject ( )
inherited

Returns the parent SBase object to which this plugin object connected.

Returns
the parent SBase object to which this plugin object connected.
Port libsbmlcs.CompModelPlugin.getPort ( long  n)

Returns the port with the given index.

Parameters
nthe index number of the Port to get.
Returns
the nth Port in the ListOfPorts. If the index n is invalid, null is returned.
Port libsbmlcs.CompModelPlugin.getPort ( string  id)

Returns the port with the given identifier.

Parameters
idthe id of the Port to get.
Returns
the Port in the ListOfPorts with the given identifier. If the identifier is invalid, null is returned.
string libsbmlcs.SBasePlugin.getPrefix ( )
inherited

Returns the prefix of the package extension of this plugin object.

Returns
the prefix of the package extension of this plugin object.
ReplacedBy libsbmlcs.CompSBasePlugin.getReplacedBy ( )
inherited

Get the child ReplacedBy of this SBase.

Returns
the ReplacedBy child of this SBase
ReplacedElement libsbmlcs.CompSBasePlugin.getReplacedElement ( long  n)
inherited

Returns the ReplacedElement with the given index.

Parameters
nthe index number of the ReplacedElement to get.
Returns
the nth ReplacedElement in the ListOfReplacedElements. If the index is invalid, null is returned.
SBMLDocument libsbmlcs.SBasePlugin.getSBMLDocument ( )
inherited

Returns the parent SBMLDocument of this plugin object.

Returns
the parent SBMLDocument object of this plugin object.
SBMLNamespaces libsbmlcs.SBasePlugin.getSBMLNamespaces ( )
inherited
Submodel libsbmlcs.CompModelPlugin.getSubmodel ( long  n)

Returns the submodel with the given index.

If the index is invalid, null is returned.

Parameters
nthe index number of the Submodel to get.
Returns
the nth Submodel in the ListOfSubmodels.
Submodel libsbmlcs.CompModelPlugin.getSubmodel ( string  id)

Returns the submodel with the given identifier.

Parameters
idthe identifier of the Submodel to get.
Returns
the Submodel in the ListOfSubmodels with the given identifier. If no such submodel with identifier id exists, null is returned.
SWIGTYPE_p_PrefixTransformer libsbmlcs.CompModelPlugin.getTransformer ( )
Returns
any custom transformer set for prefix operations, will be null by default.
string libsbmlcs.SBasePlugin.getURI ( )
inherited

Gets the URI to which this element belongs to.

For example, all elements that belong to SBML Level 3 Version 1 Core must would have the URI 'http://www.sbml.org/sbml/level3/version1/core'; all elements that belong to Layout Extension Version 1 for SBML Level 3 Version 1 Core must would have the URI 'http://www.sbml.org/sbml/level3/version1/layout/version1/'

Unlike getElementNamespace, this function first returns the URI for this element by looking into the SBMLNamespaces object of the document with the its package name. if not found it will return the result of getElementNamespace

Returns
the URI this elements
See also
getPackageName()
getElementNamespace()
SBMLDocument::getSBMLNamespaces()
getSBMLDocument()
long libsbmlcs.SBasePlugin.getVersion ( )
inherited

Returns the SBML version of the package extension of this plugin object.

Returns
the SBML version of the package extension of this plugin object.
bool libsbmlcs.SBasePlugin.hasIdentifierBeginningWith ( string  prefix)
inherited

Check to see if the given prefix is used by any of the IDs defined by extension elements.

A package that defines its own 'id' attribute for a core element would check that attribute here.

bool libsbmlcs.CompSBasePlugin.isSetReplacedBy ( )
inherited

Predicate for testing whether the ReplacedBy for this SBase is set.

Returns
true if the ReplacedBy of this SBase is set, false otherwise.
bool libsbmlcs.CompModelPlugin.isSetTransformer ( )
Returns
an indicator, whether a custom transformer has been set.
void libsbmlcs.CompSBasePlugin.logInvalidId ( string  attribute,
string  wrongattribute 
)
inherited

Helper to log a common type of error.

void libsbmlcs.SBasePlugin.logUnknownElement ( string  element,
long  sbmlLevel,
long  sbmlVersion,
long  pkgVersion 
)
inherited

Helper to log a common type of error for elements.

void libsbmlcs.SBasePlugin.multiplyAssignmentsToSIdByFunction ( string  id,
ASTNode  function 
)
inherited

If this assignment assigns a value to the 'id' element, replace the 'math' object with the function (existing*function).

int libsbmlcs.SBasePlugin.prependStringToAllIdentifiers ( string  prefix)
inherited

Add the given string to all identifiers in the object.

If the string is added to anything other than an id or a metaid, this code is responsible for tracking down and renaming all *idRefs in the package extention that identifier comes from.

Port libsbmlcs.CompModelPlugin.removePort ( long  index)

Removes the port with the given index.

Parameters
indexthe index of the Port object to remove
Returns
the Port object removed. As mentioned above, the caller owns the returned object. null is returned if the given index is out of range.
ReplacedElement libsbmlcs.CompSBasePlugin.removeReplacedElement ( long  index)
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.

Parameters
indexthe index of the ReplacedElement object to remove
Returns
the ReplacedElement object removed. As mentioned above, the caller owns the returned object. 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.

Parameters
indexthe index of the Submodel object to remove
Returns
the Submodel object removed. As mentioned above, the caller owns the returned object. null is returned if the given index is out of range and no submodel has been removed, null is returned.
void libsbmlcs.SBasePlugin.replaceSIDWithFunction ( string  id,
ASTNode  function 
)
inherited

If this object has a child 'math' object (or anything with ASTNodes in general), replace all nodes with the name 'id' with the provided function.

Note
This function does nothing itself–subclasses with ASTNode subelements must override this function.
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.

Returns
integer value indicating success/failure of the operation. The possible return values are:
int libsbmlcs.SBasePlugin.setElementNamespace ( string  uri)
inherited

Sets the XML namespace to which this element belongs to.

For example, all elements that belong to SBML Level 3 Version 1 Core must set the namespace to 'http://www.sbml.org/sbml/level3/version1/core'; all elements that belong to Layout Extension Version 1 for SBML Level 3 Version 1 Core must set the namespace to 'http://www.sbml.org/sbml/level3/version1/layout/version1/'

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int libsbmlcs.CompSBasePlugin.setReplacedBy ( ReplacedBy  replacedBy)
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.

Parameters
replacedBythe ReplacedBy object instance to use.
Returns
integer value indicating success/failure of the operation. The possible return values are:
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)

bool libsbmlcs.SBasePlugin.stripPackage ( string  pkgPrefix,
bool  flag 
)
inherited
int libsbmlcs.SBasePlugin.transformIdentifiers ( IdentifierTransformer  sidTransformer)
inherited
int libsbmlcs.CompSBasePlugin.unsetReplacedBy ( )
inherited

Unsets the child ReplacedBy of this SBase.

Returns
integer value indicating success/failure of the operation. The possible return values are:
void libsbmlcs.CompModelPlugin.unsetTransformer ( )

Unsets any custom prefix transformers.

Member Data Documentation

bool libsbmlcs.SBasePlugin.swigCMemOwn
protectedinherited