libSBML
5.8.0

org.sbml.libsbml
Class ListOfRules

java.lang.Object
  extended by org.sbml.libsbml.SBase
      extended by org.sbml.libsbml.ListOf
          extended by org.sbml.libsbml.ListOfRules

public class ListOfRules
extends ListOf

Implementation of SBML's ListOfRules construct.

The various ListOf___ classes in SBML are merely containers used for organizing the main components of an SBML model. All are derived from the abstract class SBase, and inherit the various attributes and subelements of SBase, such as 'metaid' as and 'annotation'. The ListOf___ classes do not add any attributes of their own.

The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 3 and later versions of SBML Level 2 as well):


Readers may wonder about the motivations for using the ListOf___ containers. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase means that software tools can add information about the lists themselves into each list container's 'annotation'.

See Also:
ListOfFunctionDefinitions, ListOfUnitDefinitions, ListOfCompartmentTypes, ListOfSpeciesTypes, ListOfCompartments, ListOfSpecies, ListOfParameters, ListOfInitialAssignments, ListOfRules, ListOfConstraints, ListOfReactions, ListOfEvents

Constructor Summary
ListOfRules(long level, long version)
          Creates a new ListOfRules object.
ListOfRules(SBMLNamespaces sbmlns)
          Creates a new ListOfRules object.
 
Method Summary
 ListOfRules cloneObject()
          Creates and returns a deep copy of this ListOfRules instance.
 void delete()
          Explicitly deletes the underlying native object.
 Rule get(long n)
          Get a Rule from the ListOfRules.
 Rule get(String sid)
          Get a Rule from the ListOfRules based on its identifier.
 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.
 String getElementName()
          Returns the XML element name of this object.
 int getItemTypeCode()
          Returns the libSBML type code for the objects contained in this ListOf (i.e., Rule objects, if the list is non-empty).
 int getTypeCode()
          Returns the libSBML type code for this SBML object.
 Rule remove(long n)
          Removes the nth item from this ListOfRules items and returns a pointer to it.
 Rule remove(String sid)
          Removes item in this ListOfRules items with the given identifier.
 
Methods inherited from class org.sbml.libsbml.ListOf
append, appendAndOwn, appendFrom, clear, clear, getElementByMetaId, insert, insertAndOwn, removeFromParentAndDelete, size
 
Methods inherited from class org.sbml.libsbml.SBase
addCVTerm, addCVTerm, appendAnnotation, appendAnnotation, appendNotes, appendNotes, disablePackage, enablePackage, equals, getAncestorOfType, getAncestorOfType, getAnnotation, getAnnotationString, getColumn, getCVTerm, getCVTerms, getLevel, getLine, getListOfAllElements, getListOfAllElementsFromPlugins, getMetaId, getModel, getModelHistory, getNamespaces, getNotes, getNotesString, getNumCVTerms, getNumPlugins, getPackageName, getPackageVersion, getParentSBMLObject, getPlugin, getPlugin, getResourceBiologicalQualifier, getResourceModelQualifier, getSBMLDocument, getSBOTerm, getSBOTermAsURL, getSBOTermID, getVersion, hashCode, hasValidLevelVersionNamespaceCombination, isPackageEnabled, isPackageURIEnabled, isPkgEnabled, isPkgURIEnabled, isSetAnnotation, isSetMetaId, isSetModelHistory, isSetNotes, isSetSBOTerm, matchesRequiredSBMLNamespacesForAddition, matchesSBMLNamespaces, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, renameMetaIdRefs, renameSIdRefs, renameUnitSIdRefs, replaceTopLevelAnnotationElement, replaceTopLevelAnnotationElement, setAnnotation, setAnnotation, setMetaId, setModelHistory, setNamespaces, setNotes, setNotes, setNotes, setSBOTerm, setSBOTerm, toSBML, unsetAnnotation, unsetCVTerms, unsetId, unsetMetaId, unsetModelHistory, unsetName, unsetNotes, unsetSBOTerm
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListOfRules

public ListOfRules(long level,
                   long version)
            throws SBMLConstructorException
Creates a new ListOfRules object.

The object is constructed such that it is valid for the given SBML Level and Version combination.

Parameters:
level - the SBML Level

version - the Version within the SBML Level
Throws:
SBMLConstructorException

ListOfRules

public ListOfRules(SBMLNamespaces sbmlns)
            throws SBMLConstructorException
Creates a new ListOfRules object.

The object is constructed such that it is valid for the SBML Level and Version combination determined by the SBMLNamespaces object in sbmlns.

Parameters:
sbmlns - an SBMLNamespaces object that is used to determine the characteristics of the ListOfRules object to be created.
Throws:
SBMLConstructorException
Method Detail

delete

public void delete()
Explicitly deletes the underlying native object.

In general, application software will not need to call this method directly. The Java language binding for libSBML is implemented as a language wrapper that provides a Java interface to libSBML's underlying C++/C code. Some of the Java methods return objects that are linked to objects created not by Java code, but by C++ code. The Java objects wrapped around them will be deleted when the garbage collector invokes the corresponding C++ finalize() methods for the objects. The finalize() methods in turn call the ListOfRules.delete() method on the libSBML object.

This method is exposed in case calling programs want to ensure that the underlying object is freed immediately, and not at some arbitrary time determined by the Java garbage collector. In normal usage, callers do not need to invoke ListOfRules.delete() themselves.

Overrides:
delete in class ListOf

cloneObject

public ListOfRules cloneObject()
Creates and returns a deep copy of this ListOfRules instance.

Overrides:
cloneObject in class ListOf
Returns:
a (deep) copy of this ListOfRules.

getTypeCode

public int getTypeCode()
Returns the libSBML type code for this SBML object.

LibSBML attaches an identifying code to every kind of SBML object. These are known as SBML type codes. In other languages, the set of type codes is stored in an enumeration; in the Java language interface for libSBML, the type codes are defined as static integer constants in the interface class libsbmlConstants. The names of the type codes all begin with the characters SBML_.

Overrides:
getTypeCode in class ListOf
Returns:
the SBML type code for this object, or SBML_UNKNOWN (default).

See Also:
ListOfRules.getElementName()

getItemTypeCode

public int getItemTypeCode()
Returns the libSBML type code for the objects contained in this ListOf (i.e., Rule objects, if the list is non-empty).

LibSBML attaches an identifying code to every kind of SBML object. These are known as SBML type codes. In other languages, the set of type codes is stored in an enumeration; in the Java language interface for libSBML, the type codes are defined as static integer constants in the interface class libsbmlConstants. The names of the type codes all begin with the characters SBML_.

Overrides:
getItemTypeCode in class ListOf
Returns:
the SBML type code for the objects contained in this ListOf instance, or SBML_UNKNOWN (default).

See Also:
ListOfRules.getElementName()

getElementName

public String getElementName()
Returns the XML element name of this object.

For ListOfRules, the XML element name is 'listOfRules'.

Overrides:
getElementName in class ListOf
Returns:
the name of this element, i.e., 'listOfRules'.

get

public Rule get(long n)
Get a Rule from the ListOfRules.

Overrides:
get in class ListOf
Parameters:
n - the index number of the Rule to get.

Returns:
the nth Rule in this ListOfRules.

See Also:
ListOf.size()

get

public Rule get(String sid)
Get a Rule from the ListOfRules based on its identifier.

Parameters:
sid - a string representing the identifier of the Rule to get.

Returns:
Rule in this ListOfRules with the given id or null if no such Rule exists.

See Also:
ListOfRules.get(long n), ListOf.size()

remove

public Rule remove(long n)
Removes the nth item from this ListOfRules items and returns a pointer to it.

The caller owns the returned item and is responsible for deleting it.

Overrides:
remove in class ListOf
Parameters:
n - the index of the item to remove

See Also:
ListOf.size()

getElementBySId

public 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. Note that AssignmentRules and RateRules do not actually have IDs, but the libsbml interface pretends that they do: no assignment rule or rate rule is returned by this function.

Overrides:
getElementBySId in class ListOf
Parameters:
id - string representing the id of objects to find

Returns:
pointer to the first element found with the given id.

remove

public Rule remove(String sid)
Removes item in this ListOfRules items with the given identifier.

The caller owns the returned item and is responsible for deleting it. If none of the items in this list have the identifier sid, then null is returned.

Parameters:
sid - the identifier of the item to remove

Returns:
the item removed. As mentioned above, the caller owns the returned item.

libSBML
5.8.0


LibSBML, an application programming interface (API) library for SBML.