public class ListOfRules extends ListOf
Rule
objects.
The various ListOf___ classes in SBML
are merely containers used for organizing the main components of an SBML
model. In libSBML's implementation, ListOf___
classes are derived from the
intermediate utility class ListOf
, which
is not defined by the SBML specifications but serves as a useful
programmatic construct. ListOf
is itself is in turn derived from SBase
,
which provides all of the various ListOf___
classes with common features
defined by the SBML specification, such as 'metaid' attributes and
annotations.
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
Readers may wonder about the motivations for using the ListOf___
containers in SBML. 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'.
Constructor and Description |
---|
ListOfRules(long level,
long version)
Creates a new
ListOfRules object. |
ListOfRules(SBMLNamespaces sbmlns)
Creates a new
ListOfRules object. |
Modifier and Type | Method and Description |
---|---|
ListOfRules |
cloneObject()
Creates and returns a deep copy of this
ListOfRules object. |
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()
|
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. |
append, appendAndOwn, appendFrom, clear, clear, connectToChild, getElementByMetaId, getTypeCode, insert, insertAndOwn, removeFromParentAndDelete, size
addCVTerm, addCVTerm, appendAnnotation, appendAnnotation, appendNotes, appendNotes, deleteDisabledPlugins, deleteDisabledPlugins, disablePackage, enablePackage, equals, getAncestorOfType, getAncestorOfType, getAnnotation, getAnnotationString, getColumn, getCVTerm, getCVTerms, getDisabledPlugin, getLevel, getLine, getListOfAllElements, getListOfAllElements, getListOfAllElementsFromPlugins, getListOfAllElementsFromPlugins, getMetaId, getModel, getModelHistory, getNamespaces, getNotes, getNotesString, getNumCVTerms, getNumDisabledPlugins, getNumPlugins, getPackageName, getPackageVersion, getParentSBMLObject, getPlugin, getPlugin, getPrefix, getResourceBiologicalQualifier, getResourceModelQualifier, getSBMLDocument, getSBOTerm, getSBOTermAsURL, getSBOTermID, getURI, getVersion, hashCode, hasValidLevelVersionNamespaceCombination, isPackageEnabled, isPackageURIEnabled, isPkgEnabled, isPkgURIEnabled, isSetAnnotation, isSetMetaId, isSetModelHistory, isSetNotes, isSetSBOTerm, isSetUserData, matchesRequiredSBMLNamespacesForAddition, matchesSBMLNamespaces, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, renameMetaIdRefs, renameSIdRefs, renameUnitSIdRefs, replaceTopLevelAnnotationElement, replaceTopLevelAnnotationElement, setAnnotation, setAnnotation, setMetaId, setModelHistory, setNamespaces, setNotes, setNotes, setNotes, setSBOTerm, setSBOTerm, toSBML, toXMLNode, unsetAnnotation, unsetCVTerms, unsetId, unsetMetaId, unsetModelHistory, unsetName, unsetNotes, unsetSBOTerm, unsetUserData
public ListOfRules(long level, long version) throws SBMLConstructorException
ListOfRules
object.
The object is constructed such that it is valid for the given SBML Level and Version combination.
level
- the SBML Level
version
- the Version within the SBML Level
SBMLConstructorException
- Thrown if the given level
and version
combination are invalid
or if this object is incompatible with the given level and version.
SBMLDocument
having a different
combination of SBML Level, Version and XML namespaces than the object
itself will result in an error at the time a caller attempts to make the
addition. A parent object must have compatible Level, Version and XML
namespaces. (Strictly speaking, a parent may also have more XML
namespaces than a child, but the reverse is not permitted.) The
restriction is necessary to ensure that an SBML model has a consistent
overall structure. This requires callers to manage their objects
carefully, but the benefit is increased flexibility in how models can be
created by permitting callers to create objects bottom-up if desired. In
situations where objects are not yet attached to parents (e.g.,
SBMLDocument
), knowledge of the intented SBML Level and Version help
libSBML determine such things as whether it is valid to assign a
particular value to an attribute.public ListOfRules(SBMLNamespaces sbmlns) throws SBMLConstructorException
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
.
sbmlns
- an SBMLNamespaces
object that is used to determine the
characteristics of the ListOfRules
object to be created.
SBMLConstructorException
- Thrown if the given sbmlns
is inconsistent or incompatible
with this object.
SBMLDocument
having a different
combination of SBML Level, Version and XML namespaces than the object
itself will result in an error at the time a caller attempts to make the
addition. A parent object must have compatible Level, Version and XML
namespaces. (Strictly speaking, a parent may also have more XML
namespaces than a child, but the reverse is not permitted.) The
restriction is necessary to ensure that an SBML model has a consistent
overall structure. This requires callers to manage their objects
carefully, but the benefit is increased flexibility in how models can be
created by permitting callers to create objects bottom-up if desired. In
situations where objects are not yet attached to parents (e.g.,
SBMLDocument
), knowledge of the intented SBML Level and Version help
libSBML determine such things as whether it is valid to assign a
particular value to an attribute.public void delete()
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.
public ListOfRules cloneObject()
ListOfRules
object.
cloneObject
 in class ListOf
ListOfRules
object.public int getItemTypeCode()
ListOf
(i.e., Rule
objects, if the list is non-empty).
LibSBML attaches an identifying code to every kind of SBML object. These
are integer constants known as SBML type codes. The names of all
the codes begin with the characters SBML_
.
In the Java language interface for libSBML, the
type codes are defined as static integer constants in the interface class
libsbmlConstants
. 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.
getItemTypeCode
 in class ListOf
SBML_RULE
(default).
ListOfRules.getElementName()
,
SBase.getPackageName()
public String getElementName()
For ListOfRules
, the XML element name is 'listOfRules'.
getElementName
 in class ListOf
'listOfRules'.
public Rule get(long n)
Rule
from the ListOfRules
.
get
 in class ListOf
n
- the index number of the Rule
to get.
Rule
in this ListOfRules
.
ListOf.size()
public Rule get(String sid)
Rule
from the ListOfRules
based on its identifier.
sid
- a string representing the identifier of the Rule
to get.
Rule
in this ListOfRules
with the given id
or null
if no
such Rule
exists.
ListOfRules.get(long n)
,
ListOf.size()
public Rule remove(long n)
ListOfRules
items and returns a pointer to
it.
The caller owns the returned item and is responsible for deleting it.
remove
 in class ListOf
n
- the index of the item to remove
ListOf.size()
public SBase getElementBySId(String id)
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.
getElementBySId
 in class ListOf
id
- string representing the id of objects to find
id
.public Rule remove(String sid)
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.
sid
- the identifier of the item to remove