libSBML C++ API
5.11.0
|
The Replacing class does not exist officialy in the the Hierarchical Model Composition package (“comp”), but is implemented here as a convenience subclass of the ReplacedElement and ReplacedBy classes, since both of those classes define a 'submodelRef' attribute.
The required attribute "submodelRef" takes a value of type SIdRef, which must be the identifier of a Submodel object in the containing model. The model referenced by the Submodel object establishes the object namespaces for the "portRef", "idRef", "unitRef" and "metaIdRef" attributes: only objects within the Model object may be referenced by those attributes.
Public Member Functions | |
virtual bool | accept (SBMLVisitor &v) const |
Accepts the given SBMLVisitor. More... | |
virtual void | clearReferencedElement () |
Removes the saved referenced element, if it had been saved earlier. More... | |
virtual SBaseRef * | clone () const |
Creates and returns a deep copy of this SBaseRef object. More... | |
SBaseRef * | createSBaseRef () |
Creates a new, empty SBaseRef, adds it to this SBaseRef and returns the created SBaseRef. More... | |
virtual List * | getAllElements (ElementFilter *filter=NULL) |
Returns a List of all child SBase* objects, including those nested to an arbitrary depth. More... | |
virtual SBase * | getElementByMetaId (const std::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... | |
virtual SBase * | getElementBySId (const std::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... | |
virtual const std::string & | getElementName () const |
Returns the XML element name of this SBML object. More... | |
virtual const std::string & | getIdRef () const |
Returns the value of the "idRef" attribute of this SBaseRef. More... | |
virtual const std::string & | getMetaIdRef () const |
Returns the value of the "metaIdRef" attribute of this SBaseRef. More... | |
virtual int | getNumReferents () const |
Returns how many elements are being referred to by this SBaseRef. More... | |
virtual const std::string & | getPortRef () const |
Returns the value of the "portRef" attribute of this SBaseRef. More... | |
virtual SBase * | getReferencedElement () |
Returns the object pointed to by this element. More... | |
virtual SBase * | getReferencedElementFrom (Model *model) |
Examines the referenced Model for the referenced object, and returns it, if found. More... | |
const SBaseRef * | getSBaseRef () const |
Get the child sBaseRef of this sBaseRef. More... | |
SBaseRef * | getSBaseRef () |
Get the child sBaseRef of this SBaseRef. More... | |
virtual const std::string & | getSubmodelRef () const |
Returns the value of the "submodelRef" attribute of this SBaseRef. More... | |
virtual int | getTypeCode () const |
Returns the libSBML type code of this object instance. More... | |
virtual const std::string & | getUnitRef () const |
Returns the value of the "unitRef" attribute of this SBaseRef. More... | |
virtual bool | hasRequiredAttributes () const |
Returns true if getNumReferents() is exactly 1 and if the submodelRef is set. More... | |
virtual bool | isSetIdRef () const |
Predicate returning true or false depending on whether this SBaseRef's "idRef" attribute has been set. More... | |
virtual bool | isSetMetaIdRef () const |
Predicate returning true or false depending on whether this SBaseRef's "metaIdRef" attribute has been set. More... | |
virtual bool | isSetPortRef () const |
Predicate returning true or false depending on whether this SBaseRef's "portRef" attribute has been set. More... | |
bool | isSetSBaseRef () const |
Predicate for testing whether the sBaseRef for this SBaseRef is set. More... | |
virtual bool | isSetSubmodelRef () const |
Predicate returning true or false depending on whether this SBaseRef's "submodelRef" attribute has been set. More... | |
virtual bool | isSetUnitRef () const |
Predicate returning true or false depending on whether this SBaseRef's "unitRef" attribute has been set. More... | |
Replacing & | operator= (const Replacing &source) |
Assignment operator. More... | |
virtual int | performDeletion () |
DEPRECATED FUNCTION: DO NOT USE. More... | |
virtual int | performReplacement () |
DEPRECATED FUNCTION: DO NOT USE. More... | |
virtual int | removeFromParentAndDelete () |
Finds this SBaseRef's parent, which can either be a List or can be another SBaseRef, and tells it to remove this. More... | |
virtual void | renameSIdRefs (const std::string &oldid, const std::string &newid) |
Replaces all uses of a given SIdRef type attribute value with another value. More... | |
Replacing (unsigned int level=CompExtension::getDefaultLevel(), unsigned int version=CompExtension::getDefaultVersion(), unsigned int pkgVersion=CompExtension::getDefaultPackageVersion()) | |
Creates a new Replacing with the given level, version, and package version. More... | |
Replacing (CompPkgNamespaces *compns) | |
Creates a new Replacing with the given CompPkgNamespaces object. More... | |
Replacing (const Replacing &source) | |
Copy constructor. More... | |
virtual int | saveReferencedElement () |
Finds and stores the referenced object. More... | |
virtual int | setIdRef (const std::string &id) |
Sets the value of the "idRef" attribute of this SBaseRef. More... | |
virtual int | setMetaIdRef (const std::string &id) |
Sets the value of the "metaIdRef" attribute of this SBaseRef. More... | |
virtual int | setPortRef (const std::string &id) |
Sets the value of the "portRef" attribute of this SBaseRef. More... | |
int | setSBaseRef (const SBaseRef *sBaseRef) |
Sets the sBaseRef definition of this SBaseRef to a copy of the given SBaseRef object instance. More... | |
virtual int | setSubmodelRef (const std::string &id) |
Sets the value of the "submodelRef" attribute of this SBaseRef. More... | |
virtual int | setUnitRef (const std::string &id) |
Sets the value of the "unitRef" attribute of this SBaseRef. More... | |
virtual int | unsetIdRef () |
Unsets the value of the "idRef" attribute of this SBaseRef. More... | |
virtual int | unsetMetaIdRef () |
Unsets the value of the "metaIdRef" attribute of this SBaseRef. More... | |
virtual int | unsetPortRef () |
Unsets the value of the "portRef" attribute of this SBaseRef. More... | |
virtual int | unsetSBaseRef () |
Unsets the child SBaseRef of this SBaseRef. More... | |
virtual int | unsetSubmodelRef () |
Unsets the value of the "SubmodelRef" attribute of this SBaseRef. More... | |
virtual int | unsetUnitRef () |
Unsets the value of the "unitRef" attribute of this SBaseRef. More... | |
virtual | ~Replacing () |
Destructor. More... | |
Protected Member Functions | |
virtual int | performReplacementAndCollect (std::set< SBase * > *removed, std::set< SBase * > *toremove)=0 |
An internal flattening routine, necessarily overridden by any subclass, to rename the necessary elements, perform any conversions, and add the now-redundant element to the 'toremove' list. More... | |
Replacing::Replacing | ( | unsigned int | level = CompExtension::getDefaultLevel() , |
unsigned int | version = CompExtension::getDefaultVersion() , |
||
unsigned int | pkgVersion = CompExtension::getDefaultPackageVersion() |
||
) |
Creates a new Replacing with the given level, version, and package version.
level | the SBML Level |
version | the Version within the SBML Level |
pkgVersion | the version of the package |
Replacing::Replacing | ( | CompPkgNamespaces * | compns | ) |
Creates a new Replacing with the given CompPkgNamespaces object.
compns | the namespace to use |
Replacing::Replacing | ( | const Replacing & | source | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Accepts the given SBMLVisitor.
v.visit()
, which indicates whether or not the Visitor would like to visit the SBML object's next sibling object (if available). Reimplemented from SBaseRef.
|
virtualinherited |
Removes the saved referenced element, if it had been saved earlier.
|
virtualinherited |
Creates and returns a deep copy of this SBaseRef object.
Reimplemented in ReplacedElement, Deletion, Port, and ReplacedBy.
|
inherited |
|
virtualinherited |
Returns a List of all child SBase* objects, including those nested to an arbitrary depth.
|
virtualinherited |
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.
metaid | string representing the metaid of objects to find |
metaid
.
|
virtualinherited |
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 | string representing the id of objects to find |
id
.
|
virtualinherited |
Returns the XML element name of this SBML object.
Reimplemented in ReplacedElement, Deletion, Port, and ReplacedBy.
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
Returns how many elements are being referred to by this SBaseRef.
A valid SBaseRef will have exactly one. Possible referents are portRef, idRef, unitRef, and metaIdRef.
Reimplemented in ReplacedElement.
|
virtualinherited |
|
virtualinherited |
Returns the object pointed to by this element.
If that element was previously found and set with 'saveReferencedElement', that element is returned; otherwise, 'saveReferencedElement' is called first, and the found element is returned.
Examines the referenced Model for the referenced object, and returns it, if found.
Reimplemented in ReplacedElement.
|
inherited |
|
inherited |
|
virtual |
|
virtualinherited |
Returns the libSBML type code of this object instance.
SBML_
. The set of possible type codes for core elements is defined in the enumeration SBMLTypeCode_t, and in addition, libSBML plug-ins for SBML Level 3 packages define their own extra enumerations of type codes (e.g., SBMLLayoutTypeCode_t for the Level 3 Layout package). Note that different Level 3 package plug-ins may use overlapping type codes; to identify the package to which a given object belongs, call the getPackageName()
method on the object.Reimplemented in ReplacedElement, Deletion, Port, and ReplacedBy.
|
virtualinherited |
|
virtual |
Returns true if getNumReferents() is exactly 1 and if the submodelRef is set.
Reimplemented from SBaseRef.
|
virtualinherited |
|
virtualinherited |
|
virtualinherited |
|
inherited |
|
virtual |
|
virtualinherited |
|
virtualinherited |
DEPRECATED FUNCTION: DO NOT USE.
Deletes the referenced object, plus any other elements that element points to through ReplacedElement or ReplacedBy children. Instead of calling this function directly, use 'CompModelPlugin::instantiateSubmodels' instead, which deals with all the intricacies of replacements and deletions, and gives you access to the non-flattened hierarchical form of the model.
|
virtual |
DEPRECATED FUNCTION: DO NOT USE.
To retain old functionality, this function calls performReplacementAndCollect, and then actually removes the now-redundant element. However, this can lead to doubly-deleted elements, as well as the incorrect interpretation of some models. The replacement function performReplacementAndCollect has been marked protected, in the hopes that people will instead simply use CompModelPlugin::instantiateSubmodels, which hides all the complexity while still allowing access to a non-flattened version of a hierarchical model.
|
protectedpure virtual |
An internal flattening routine, necessarily overridden by any subclass, to rename the necessary elements, perform any conversions, and add the now-redundant element to the 'toremove' list.
Implemented in ReplacedElement, and ReplacedBy.
|
virtualinherited |
Finds this SBaseRef's parent, which can either be a List or can be another SBaseRef, and tells it to remove this.
Reimplemented in ReplacedBy.
|
virtual |
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 |
Reimplemented from SBaseRef.
Reimplemented in ReplacedElement.
|
virtual |
Finds and stores the referenced object.
Finds the Submodel to which it refers, getting the instantiated Model inside that Submodel, calling 'getReferencedElementFrom' on that model, and storing the result.
Reimplemented from SBaseRef.
|
virtualinherited |
Sets the value of the "idRef" attribute of this SBaseRef.
This method fails if the id is not a valid syntax for an SIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). A sBaseRef must use exactly one method to point to a submodel element.
|
virtualinherited |
Sets the value of the "metaIdRef" attribute of this SBaseRef.
This method fails if the id is not a valid syntax for an IDREF (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). An sBaseRef must use exactly one method to point to a submodel element.
|
virtualinherited |
Sets the value of the "portRef" attribute of this SBaseRef.
Fails if the id is not a valid syntax for a PortSIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). An SBaseRef must use exactly one method to point to a submodel element.
Reimplemented in Port.
|
inherited |
Sets the sBaseRef definition of this SBaseRef to a copy of the given SBaseRef object instance.
This method fails if the added sBaseRef does not match the level/version/package of the parent object or if the added sBaseRef cannot be copied.
sBaseRef | the SBaseRef object instance to use. |
|
virtual |
Sets the value of the "submodelRef" attribute of this SBaseRef.
Fails if the id is not a valid syntax for an SIdRef.
|
virtualinherited |
Sets the value of the "unitRef" attribute of this SBaseRef.
This method fails if the id is not a valid syntax for a UnitSIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). A sBaseRef must use exactly one method to point to a submodel element.
|
virtualinherited |
Unsets the value of the "idRef" attribute of this SBaseRef.
|
virtualinherited |
Unsets the value of the "metaIdRef" attribute of this SBaseRef.
|
virtualinherited |
Unsets the value of the "portRef" attribute of this SBaseRef.
|
virtualinherited |
Unsets the child SBaseRef of this SBaseRef.
Deletes the former SBaseRef child, if one existed.
|
virtual |
Unsets the value of the "SubmodelRef" attribute of this SBaseRef.
|
virtualinherited |
Unsets the value of the "unitRef" attribute of this SBaseRef.