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

Detailed Description

{comp}

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

The CompSBasePlugin class inherits from the SBasePlugin class, and codifies the extentions to the SBase class defined in the comp package (“comp”). This extention allows the modeler to define one or more submodel elements which the parent SBase object replaces, and/or a single submodel element which replaces the parent SBase object.

This is accomplished through the addition of an optional ListOfReplacedElements child, which may contain one or more ReplacedElement objects, each of which references a submodel object to be replaced by the containing SBase object, and through the addition of a single optional ReplacedBy child, which references a submodel object which is to replace the containing SBase object.

If a single SBase element both contains a ListOfReplacedElements and has a ReplacedBy child, it and all the referenced ReplacedElement objects are to be replaced by the object referenced by the ReplacedBy element.

See also
ReplacedElement
ReplacedBy

Public Member Functions

int addReplacedElement (ReplacedElement replacedElement)
 Adds a copy of the given ReplacedElement object to the list of ReplacedElements. More...
 
void clearReplacedElements ()
 Remove all ReplacedElements, if any exist. More...
 
SBasePlugin clone ()
 Creates and returns a deep copy of this CompSBasePlugin object. More...
 
 CompSBasePlugin (string uri, string prefix, CompPkgNamespaces compns)
 Constructor. More...
 
 CompSBasePlugin (CompSBasePlugin 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...
 
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...
 
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...
 
SBase getElementByMetaId (string metaid)
 Returns the first child element it can find with the given metaid, 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 ()
 
ListOfReplacedElements getListOfReplacedElements ()
 Returns the ListOf object that holds all replacedElements. More...
 
long getNumReplacedElements ()
 Returns the number of ReplacedElements for this CompSBasePlugin. 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...
 
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 ()
 
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...
 
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...
 
ReplacedElement removeReplacedElement (long index)
 Removes the ReplacedElement 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 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...
 
bool stripPackage (string pkgPrefix, bool flag)
 
int transformIdentifiers (IdentifierTransformer sidTransformer)
 
int unsetReplacedBy ()
 Unsets the child ReplacedBy of this SBase. More...
 

Protected Attributes

bool swigCMemOwn
 

Constructor & Destructor Documentation

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

Constructor.

libsbmlcs.CompSBasePlugin.CompSBasePlugin ( CompSBasePlugin  orig)

Copy constructor.

Creates a copy of this CompSBasePlugin object.

Member Function Documentation

int libsbmlcs.CompSBasePlugin.addReplacedElement ( ReplacedElement  replacedElement)

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:
void libsbmlcs.CompSBasePlugin.clearReplacedElements ( )

Remove all ReplacedElements, if any exist.

SBasePlugin libsbmlcs.CompSBasePlugin.clone ( )

Creates and returns a deep copy of this CompSBasePlugin object.

Returns
a (deep) copy of this CompSBasePlugin object
void libsbmlcs.CompSBasePlugin.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.CompSBasePlugin.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.CompSBasePlugin.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.
ReplacedBy libsbmlcs.CompSBasePlugin.createReplacedBy ( )

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 ( )

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
override void libsbmlcs.CompSBasePlugin.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.CompSBasePlugin.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()
SBase libsbmlcs.CompSBasePlugin.getElementByMetaId ( string  metaid)

Returns the first child element it can find with the given metaid, or itself if it has the given metaid, or null if no such object is found.

Parameters
metaidstring representing the metaid of objects to find
Returns
a pointer to the SBase element with the given metaid.
SBase libsbmlcs.CompSBasePlugin.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
idstring 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
ListOfReplacedElements libsbmlcs.CompSBasePlugin.getListOfReplacedElements ( )

Returns the ListOf object that holds all replacedElements.

Returns
the ListOf object that holds all replacedElements.
long libsbmlcs.CompSBasePlugin.getNumReplacedElements ( )

Returns the number of ReplacedElements for this CompSBasePlugin.

Returns
the number of ReplacedElements for this CompSBasePlugin.
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.
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 ( )

Get the child ReplacedBy of this SBase.

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

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
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 ( )

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

Returns
true if the ReplacedBy of this SBase is set, false otherwise.
void libsbmlcs.CompSBasePlugin.logInvalidId ( string  attribute,
string  wrongattribute 
)

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.

ReplacedElement libsbmlcs.CompSBasePlugin.removeReplacedElement ( long  index)

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.
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.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)

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:
bool libsbmlcs.SBasePlugin.stripPackage ( string  pkgPrefix,
bool  flag 
)
inherited
int libsbmlcs.SBasePlugin.transformIdentifiers ( IdentifierTransformer  sidTransformer)
inherited
int libsbmlcs.CompSBasePlugin.unsetReplacedBy ( )

Unsets the child ReplacedBy of this SBase.

Returns
integer value indicating success/failure of the operation. The possible return values are:

Member Data Documentation

bool libsbmlcs.SBasePlugin.swigCMemOwn
protectedinherited