public class SpeciesReference extends SimpleSpeciesReference
The Reaction
structure provides a way to express which species act as
reactants and which species act as products in a reaction. In a given
reaction, references to those species acting as reactants and/or
products are made using instances of SpeciesReference
structures in a
Reaction
object's lists of reactants and products.
A species can occur more than once in the lists of reactants and
products of a given Reaction
instance. The effective stoichiometry for
a species in a reaction is the sum of the stoichiometry values given on
the SpeciesReference
object in the list of products minus the sum of
stoichiometry values given on the SpeciesReference
objects in the list
of reactants. A positive value indicates the species is effectively a
product and a negative value indicates the species is effectively a
reactant. SBML places no restrictions on the effective stoichiometry of
a species in a reaction for example, it can be zero. In the following
SBML fragment, the two reactions have the same effective stoichiometry
for all their species:
<reaction id='x'> <listOfReactants> <speciesReference species='a'/> <speciesReference species='a'/> <speciesReference species='b'/> </listOfReactants> <listOfProducts> <speciesReference species='c'/> <speciesReference species='b'/> </listProducts> </reaction> <reaction id='y'> <listOfReactants> <speciesReference species='a' stoichiometry='2'/> </listOfReactants> <listOfProducts> <speciesReference species='c'/> </listProducts> </reaction>
The precise structure of SpeciesReference
differs between SBML
Level 2 and Level 3. We discuss the two variants in separate
sections below.
The mandatory 'species' attribute of SpeciesReference
must have as its
value the identifier of an existing species defined in the enclosing
Model
. The species is thereby designated as a reactant or product in
the reaction. Which one it is (i.e., reactant or product) is indicated
by whether the SpeciesReference
appears in the Reaction
's 'reactant' or
'product' lists.
Product and reactant stoichiometries can be specified using
either 'stoichiometry' or 'stoichiometryMath' in a
SpeciesReference
object. The 'stoichiometry' attribute is of type
double and should contain values greater than zero (0). The
'stoichiometryMath' element is implemented as an element containing a
MathML expression. These two are mutually exclusive only one of
'stoichiometry' or 'stoichiometryMath' should be defined in a given
SpeciesReference
instance. When neither the attribute nor the element
is present, the value of 'stoichiometry' in the SpeciesReference
instance defaults to 1.
For maximum interoperability, the 'stoichiometry' attribute should be
used in preference to 'stoichiometryMath' when a species' stoichiometry
is a simple scalar number (integer or decimal). When the stoichiometry
is a rational number, or when it is a more complicated formula,
'stoichiometryMath' must be used. The MathML expression in
'stoichiometryMath' may also refer to identifiers of entities in a model
(except reaction identifiers). However, the only species identifiers
that can be used in 'stoichiometryMath' are those referenced in the
Reaction
list of reactants, products and modifiers.
The following is a simple example of a species reference for species
X0
, with stoichiometry 2
, in a list of reactants within a reaction
having the identifier J1:
<model> ... <listOfReactions> <reaction id='J1'> <listOfReactants> <speciesReference species='X0' stoichiometry='2'> </listOfReactants> ... </reaction> ... </listOfReactions> ... </model>
The following is a more complex example of a species reference for
species X0, with a stoichiometry formula consisting of the parameter
x:
<model> ... <listOfReactions> <reaction id='J1'> <listOfReactants> <speciesReference species='X0'> <stoichiometryMath> <math xmlns='http://www.w3.org/1998/Math/MathML'> <ci>x</ci> </math> </stoichiometryMath> </speciesReference> </listOfReactants> ... </reaction> ... </listOfReactions> ... </model>
In Level 2's definition of a reaction, the stoichiometry attribute of a
SpeciesReference
is actually a combination of two factors, the standard
biochemical stoichiometry and a conversion factor that may be needed to
translate the units of the species quantity to the units of the reaction
rate. Unfortunately, Level 2 offers no direct way of decoupling
these two factors, or for explicitly indicating the units. The only way
to do it in Level 2 is to use the StoichiometryMath
object
associated with SpeciesReferences, and to reference SBML Parameter
objects from within the StoichiometryMath
formula. This works because
Parameter
offers a way to attach units to a numerical value, but the
solution is indirect and awkward for something that should be a simple
matter. Moreover, the question of how to properly encode
stoichiometries in SBML reactions has caused much confusion among
implementors of SBML software.
SBML Level 3 approaches this problem differently. It (1) extends
the the use of the SpeciesReference
identifier to represent the value of
the 'stoichiometry' attribute, (2) makes the 'stoichiometry' attribute
optional, (3) removes StoichiometryMath
, and (4) adds a new 'constant'
boolean attribute on SpeciesReference
.
As in Level 2, the 'stoichiometry' attribute is of type
double
and should contain values greater than zero (0
). A
missing 'stoichiometry' implies that the stoichiometry is either
unknown, or to be obtained from an external source, or determined by an
InitialAssignment
object or other SBML construct elsewhere in the model.
A species reference's stoichiometry is set by its 'stoichiometry'
attribute exactly once. If the SpeciesReference
object's 'constant'
attribute has the value true
, then the stoichiometry is fixed and
cannot be changed except by an InitialAssignment
object. These two
methods of setting the stoichiometry (i.e., using 'stoichiometry'
directly, or using InitialAssignment
) differ in that the 'stoichiometry'
attribute can only be set to a literal floating-point number, whereas
InitialAssignment
allows the value to be set using an arbitrary
mathematical expression. (As an example, the approach could be used to
set the stoichiometry to a rational number of the form p/q,
where p and q are integers, something that is occasionally
useful in the context of biochemical reaction networks.) If the species
reference's 'constant' attribute has the value false
, the species
reference's value may be overridden by an InitialAssignment
or changed
by AssignmentRule
or AlgebraicRule
, and in addition, for simulation time
t > 0, it may also be changed by a RateRule
or Event
objects. (However, some of these constructs are mutually exclusive see
the SBML Level 3 Core specifiation for more
details.) It is not an error to define 'stoichiometry' on a species
reference and also redefine the stoichiometry using an
InitialAssignment
, but the 'stoichiometry' attribute in that case is
ignored.
The value of the 'id' attribute of a SpeciesReference
can be used as the
content of a <ci>
element in MathML formulas
elsewhere in the model. When the identifier appears in a MathML
<ci>
element, it represents the stoichiometry of the
corresponding species in the reaction where the SpeciesReference
object
instance appears. More specifically, it represents the value of the
'stoichiometry' attribute on the SpeciesReference
object.
In SBML Level 3, the unit of measurement associated with the value of a
species' stoichiometry is always considered to be dimensionless.
This has the following implications:
dimensionless.
AssignmentRule
,
InitialAssignment
and EventAssignment
objects setting the stoichiometry
of the species reference should be dimensionless.
RateRule
,
the unit associated with the RateRule
object's value should be
dimensionless
/time, where time is the
model-wide unit of time set on the Model
object.
Constructor and Description |
---|
SpeciesReference(long level,
long version)
|
SpeciesReference(SBMLNamespaces sbmlns)
|
SpeciesReference(SpeciesReference orig)
Copy constructor creates a copy of this
SpeciesReference . |
Modifier and Type | Method and Description |
---|---|
int |
appendAnnotation(java.lang.String annotation)
Appends annotation content to any existing content in the 'annotation'
subelement of this object.
|
int |
appendAnnotation(XMLNode annotation)
Appends annotation content to any existing content in the 'annotation'
subelement of this object.
|
SpeciesReference |
cloneObject()
Creates and returns a deep copy of this
SpeciesReference object. |
StoichiometryMath |
createStoichiometryMath()
Creates a new, empty
StoichiometryMath object, adds it to this
SpeciesReference , and returns it. |
void |
delete()
Explicitly deletes the underlying native object.
|
boolean |
getConstant()
Get the value of the 'constant' attribute.
|
int |
getDenominator()
Get the value of the 'denominator' attribute, for the case of a
rational-numbered stoichiometry or a model in SBML Level 1.
|
java.lang.String |
getElementName()
Returns the XML element name of this object, which for
SpeciesReference , is always 'speciesReference'. |
double |
getStoichiometry()
Get the value of the 'stoichiometry' attribute.
|
StoichiometryMath |
getStoichiometryMath()
Get the content of the 'stoichiometryMath' subelement as an
ASTNode
tree. |
int |
getTypeCode()
Returns the libSBML type code for this SBML object.
|
boolean |
hasRequiredAttributes()
Predicate returning
true if
all the required attributes for this SpeciesReference object
have been set. |
void |
initDefaults()
Initializes the fields of this
SpeciesReference object to 'typical'
default values. |
boolean |
isSetConstant()
Predicate returning
true if this
SpeciesReference 's 'constant' attribute is set |
boolean |
isSetStoichiometry()
Predicate returning
true if this
SpeciesReference 's 'stoichiometry' attribute is set. |
boolean |
isSetStoichiometryMath()
Predicate returning
true if this
SpeciesReference 's 'stoichiometryMath' subelement is set |
int |
setAnnotation(java.lang.String annotation)
Sets the value of the 'annotation' subelement of this SBML object to a
copy of
annotation . |
int |
setAnnotation(XMLNode annotation)
Sets the value of the 'annotation' subelement of this SBML object to a
copy of
annotation . |
int |
setConstant(boolean flag)
Sets the 'constant' attribute of this
SpeciesReference to the given boolean
flag . |
int |
setDenominator(int value)
Set the value of the 'denominator' attribute, for the case of a
rational-numbered stoichiometry or a model in SBML Level 1.
|
int |
setStoichiometry(double value)
Sets the value of the 'stoichiometry' attribute of this
SpeciesReference . |
int |
setStoichiometryMath(StoichiometryMath math)
Sets the 'stoichiometryMath' subelement of this
SpeciesReference . |
int |
unsetConstant()
Unsets the 'constant' attribute of this
SpeciesReference . |
int |
unsetStoichiometry()
Unsets the 'stoichiometry' attribute of this
SpeciesReference . |
int |
unsetStoichiometryMath()
Unsets the 'stoichiometryMath' subelement of this
SpeciesReference . |
getId, getName, getSpecies, isModifier, isSetId, isSetName, isSetSpecies, renameSIdRefs, setId, setName, setSpecies, unsetId, unsetName, unsetSpecies
addCVTerm, addCVTerm, appendNotes, appendNotes, connectToChild, deleteDisabledPlugins, deleteDisabledPlugins, disablePackage, enablePackage, equals, getAncestorOfType, getAncestorOfType, getAnnotation, getAnnotationString, getColumn, getCVTerm, getCVTerms, getDisabledPlugin, getElementByMetaId, getElementBySId, getIdAttribute, getLevel, getLine, getListOfAllElements, getListOfAllElements, getListOfAllElementsFromPlugins, getListOfAllElementsFromPlugins, getMetaId, getModel, getModelHistory, getNamespaces, getNotes, getNotesString, getNumCVTerms, getNumDisabledPlugins, getNumPlugins, getObjectVersion, getPackageName, getPackageVersion, getParentSBMLObject, getPlugin, getPlugin, getPrefix, getResourceBiologicalQualifier, getResourceModelQualifier, getSBMLDocument, getSBOTerm, getSBOTermAsURL, getSBOTermID, getURI, getVersion, hashCode, hasValidLevelVersionNamespaceCombination, isPackageEnabled, isPackageURIEnabled, isPkgEnabled, isPkgURIEnabled, isSetAnnotation, isSetIdAttribute, isSetMetaId, isSetModelHistory, isSetNotes, isSetSBOTerm, isSetUserData, matchesRequiredSBMLNamespacesForAddition, matchesSBMLNamespaces, removeFromParentAndDelete, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, renameMetaIdRefs, renameUnitSIdRefs, replaceTopLevelAnnotationElement, replaceTopLevelAnnotationElement, setIdAttribute, setMetaId, setModelHistory, setNamespaces, setNotes, setNotes, setNotes, setSBOTerm, setSBOTerm, toSBML, toXMLNode, unsetAnnotation, unsetCVTerms, unsetIdAttribute, unsetMetaId, unsetModelHistory, unsetNotes, unsetSBOTerm, unsetUserData
public SpeciesReference(long level, long version) throws SBMLConstructorException
level
- a long integer, the SBML Level to assign to this SpeciesReference
.
version
- a long integer, the SBML Version to assign to this
SpeciesReference
.
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 SpeciesReference(SBMLNamespaces sbmlns) throws SBMLConstructorException
sbmlns
- an SBMLNamespaces
object.
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 SpeciesReference(SpeciesReference orig) throws SBMLConstructorException
SpeciesReference
.
orig
- the SpeciesReference
instance to copy.SBMLConstructorException
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 SpeciesReference.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 SpeciesReference.delete()
themselves.
delete
 in class SimpleSpeciesReference
public SpeciesReference cloneObject()
SpeciesReference
object.
cloneObject
 in class SBase
SpeciesReference
object.public void initDefaults()
SpeciesReference
object to 'typical'
default values.
The SBML SpeciesReference
component has slightly different aspects and
default attribute values in different SBML Levels and Versions.
This method sets the values to certain common defaults, based
mostly on what they are in SBML Level 2. Specifically:
1.0
1
public double getStoichiometry()
In SBML Level 2, product and reactant stoichiometries can be specified
using either 'stoichiometry' or 'stoichiometryMath' in a
SpeciesReference
object. The former is to be used when a
stoichiometry is simply a scalar number, while the latter is for
occasions when it needs to be a rational number or it needs to
reference other mathematical expressions. The 'stoichiometry'
attribute is of type double
and should contain values greater than
zero (0
). The 'stoichiometryMath' element is implemented as an
element containing a MathML expression. These two are mutually
exclusive only one of 'stoichiometry' or 'stoichiometryMath' should
be defined in a given SpeciesReference
instance. When neither the
attribute nor the element is present, the value of 'stoichiometry' in
the SpeciesReference
instance defaults to 1.
For maximum
interoperability between different software tools, the 'stoichiometry'
attribute should be used in preference to 'stoichiometryMath' when a
species' stoichiometry is a simple scalar number (integer or
decimal).
In SBML Level 3, there is no StoichiometryMath
, and SpeciesReference
objects have only the 'stoichiometry' attribute.
SpeciesReference
.
SpeciesReference.getStoichiometryMath()
public StoichiometryMath getStoichiometryMath()
ASTNode
tree.
The 'stoichiometryMath' element exists only in SBML Level 2. There,
product and reactant stoichiometries can be specified using
either 'stoichiometry' or 'stoichiometryMath' in a
SpeciesReference
object. The former is to be used when a
stoichiometry is simply a scalar number, while the latter is for
occasions when it needs to be a rational number or it needs to
reference other mathematical expressions. The 'stoichiometry'
attribute is of type double
and should contain values greater than
zero (0
). The 'stoichiometryMath' element is implemented as an
element containing a MathML expression. These two are mutually
exclusive only one of 'stoichiometry' or 'stoichiometryMath' should
be defined in a given SpeciesReference
instance. When neither the
attribute nor the element is present, the value of 'stoichiometry' in
the SpeciesReference
instance defaults to 1.
For maximum
interoperability between different software tools, the 'stoichiometry'
attribute should be used in preference to 'stoichiometryMath' when a
species' stoichiometry is a simple scalar number (integer or decimal).
SpeciesReference
.public int getDenominator()
The 'denominator' attribute is only actually written out in the case
of an SBML Level 1 model. In SBML Level 2, rational-number
stoichiometries are written as MathML elements in the
'stoichiometryMath' subelement. However, as a convenience to users,
libSBML allows the creation and manipulation of rational-number
stoichiometries by supplying the numerator and denominator directly
rather than having to manually create an ASTNode
object. LibSBML
will write out the appropriate constructs (either a combination of
'stoichiometry' and 'denominator' in the case of SBML Level 1, or a
'stoichiometryMath' subelement in the case of SBML Level 2).
SpeciesReference
.public boolean getConstant()
SpeciesReference
.public boolean isSetStoichiometryMath()
true
if this
SpeciesReference
's 'stoichiometryMath' subelement is set
true
if the 'stoichiometryMath' subelement of this
SpeciesReference
is set, false
otherwise.public boolean isSetConstant()
true
if this
SpeciesReference
's 'constant' attribute is set
true
if the 'constant' attribute of this
SpeciesReference
is set, false
otherwise.public boolean isSetStoichiometry()
true
if this
SpeciesReference
's 'stoichiometry' attribute is set.
true
if the 'stoichiometry' attribute of this
SpeciesReference
is set, false
otherwise.public int setStoichiometry(double value)
SpeciesReference
.
In SBML Level 2, product and reactant stoichiometries can be specified
using either 'stoichiometry' or 'stoichiometryMath' in a
SpeciesReference
object. The former is to be used when a
stoichiometry is simply a scalar number, while the latter is for
occasions when it needs to be a rational number or it needs to
reference other mathematical expressions. The 'stoichiometry'
attribute is of type double
and should contain values greater than
zero (0
). The 'stoichiometryMath' element is implemented as an
element containing a MathML expression. These two are mutually
exclusive only one of 'stoichiometry' or 'stoichiometryMath' should
be defined in a given SpeciesReference
instance. When neither the
attribute nor the element is present, the value of 'stoichiometry' in
the SpeciesReference
instance defaults to 1.
For maximum
interoperability between different software tools, the 'stoichiometry'
attribute should be used in preference to 'stoichiometryMath' when a
species' stoichiometry is a simple scalar number (integer or
decimal).
In SBML Level 3, there is no StoichiometryMath
, and SpeciesReference
objects have only the 'stoichiometry' attribute.
value
- the new value of the 'stoichiometry' attribute.
SpeciesReference
object will be unset because the 'stoichiometry'
attribute and the stoichiometryMath' subelement are mutually
exclusive.
public int setStoichiometryMath(StoichiometryMath math)
SpeciesReference
.
The Abstract Syntax Tree in math
is copied.
In SBML Level 2, product and reactant stoichiometries can be specified
using either 'stoichiometry' or 'stoichiometryMath' in a
SpeciesReference
object. The former is to be used when a
stoichiometry is simply a scalar number, while the latter is for
occasions when it needs to be a rational number or it needs to
reference other mathematical expressions. The 'stoichiometry'
attribute is of type double
and should contain values greater than
zero (0
). The 'stoichiometryMath' element is implemented as an
element containing a MathML expression. These two are mutually
exclusive only one of 'stoichiometry' or 'stoichiometryMath' should
be defined in a given SpeciesReference
instance. When neither the
attribute nor the element is present, the value of 'stoichiometry' in
the SpeciesReference
instance defaults to 1.
For maximum
interoperability between different software tools, the 'stoichiometry'
attribute should be used in preference to 'stoichiometryMath' when a
species' stoichiometry is a simple scalar number (integer or
decimal).
In SBML Level 3, there is no StoichiometryMath
, and SpeciesReference
objects have only the 'stoichiometry' attribute.
math
- the StoichiometryMath
expression that is to be copied as the
content of the 'stoichiometryMath' subelement.
SpeciesReference
object will be unset (isSetStoichiometry() will
return false
although getStoichiometry() will return 1.0
) if the
given math is not null because the 'stoichiometry' attribute and the
stoichiometryMath' subelement are mutually exclusive.
public int setDenominator(int value)
The 'denominator' attribute is only actually written out in the case
of an SBML Level 1 model. In SBML Level 2, rational-number
stoichiometries are written as MathML elements in the
'stoichiometryMath' subelement. However, as a convenience to users,
libSBML allows the creation and manipulation of rational-number
stoichiometries by supplying the numerator and denominator directly
rather than having to manually create an ASTNode
object. LibSBML
will write out the appropriate constructs (either a combination of
'stoichiometry' and 'denominator' in the case of SBML Level 1, or
a 'stoichiometryMath' subelement in the case of SBML Level 2).
value
- the scalar value.
public int setConstant(boolean flag)
SpeciesReference
to the given boolean
flag
.
flag
- a boolean, the value for the 'constant' attribute of this
SpeciesReference
instance.
public int unsetStoichiometryMath()
SpeciesReference
.
In SBML Level 2, product and reactant stoichiometries can be specified
using either 'stoichiometry' or 'stoichiometryMath' in a
SpeciesReference
object. The former is to be used when a
stoichiometry is simply a scalar number, while the latter is for
occasions when it needs to be a rational number or it needs to
reference other mathematical expressions. The 'stoichiometry'
attribute is of type double
and should contain values greater than
zero (0
). The 'stoichiometryMath' element is implemented as an
element containing a MathML expression. These two are mutually
exclusive only one of 'stoichiometry' or 'stoichiometryMath' should
be defined in a given SpeciesReference
instance. When neither the
attribute nor the element is present, the value of 'stoichiometry' in
the SpeciesReference
instance defaults to 1.
For maximum
interoperability between different software tools, the 'stoichiometry'
attribute should be used in preference to 'stoichiometryMath' when a
species' stoichiometry is a simple scalar number (integer or
decimal).
In SBML Level 3, there is no StoichiometryMath
, and SpeciesReference
objects have only the 'stoichiometry' attribute.
SpeciesReference
object will be reset to a default value (1.0
) if
the 'stoichiometry' attribute has not been set.public int unsetStoichiometry()
SpeciesReference
.
SpeciesReference
object will be just reset to a default value (1.0
)
and isSetStoichiometry() will still return true.
In SBML
Level 2, the 'stoichiometry' attribute of this object will be
unset (which will result in isSetStoichiometry() returning false
,
although getStoichiometry() will return 1.0
) if the
'stoichiometryMath' subelement is set, otherwise the attribute
will be just reset to the default value (1.0
) (and
isSetStoichiometry() will still return true
). In SBML
Level 3, the 'stoichiometry' attribute of this object will be set
to NaN
and isSetStoichiometry() will return false.
public int unsetConstant()
SpeciesReference
.
public StoichiometryMath createStoichiometryMath()
StoichiometryMath
object, adds it to this
SpeciesReference
, and returns it.
StoichiometryMath
object instance.
Reaction.addReactant(SpeciesReference sr)
,
Reaction.addProduct(SpeciesReference sr)
public int setAnnotation(XMLNode annotation)
annotation
.
Any existing content of the 'annotation' subelement is discarded.
Unless you have taken steps to first copy and reconstitute any
existing annotations into the annotation
that is about to be
assigned, it is likely that performing such wholesale replacement is
unfriendly towards other software applications whose annotations are
discarded. An alternative may be to use appendAnnotation().
setAnnotation
 in class SBase
annotation
- an XML structure that is to be used as the content
of the 'annotation' subelement of this object.
SpeciesReference.appendAnnotation(XMLNode annotation)
,
SpeciesReference.appendAnnotation(String annotation)
public int setAnnotation(java.lang.String annotation)
annotation
.
Any existing content of the 'annotation' subelement is discarded.
Unless you have taken steps to first copy and reconstitute any
existing annotations into the annotation
that is about to be
assigned, it is likely that performing such wholesale replacement is
unfriendly towards other software applications whose annotations are
discarded. An alternative may be to use appendAnnotation().
setAnnotation
 in class SBase
annotation
- an XML string that is to be used as the content
of the 'annotation' subelement of this object.
SpeciesReference.appendAnnotation(XMLNode annotation)
,
SpeciesReference.appendAnnotation(String annotation)
public int appendAnnotation(XMLNode annotation)
The content in annotation
is copied. Unlike
SpeciesReference.setAnnotation(String)
,
this method allows other annotations to be preserved when an application
adds its own data.
appendAnnotation
 in class SBase
annotation
- an XML structure that is to be copied and appended
to the content of the 'annotation' subelement of this object.
SpeciesReference.setAnnotation(String annotation)
,
SpeciesReference.setAnnotation(XMLNode annotation)
public int appendAnnotation(java.lang.String annotation)
The content in annotation
is copied. Unlike
SpeciesReference.setAnnotation(String)
, this
method allows other annotations to be preserved when an application
adds its own data.
appendAnnotation
 in class SBase
annotation
- an XML string that is to be copied and appended
to the content of the 'annotation' subelement of this object.
SpeciesReference.setAnnotation(String annotation)
,
SpeciesReference.setAnnotation(XMLNode annotation)
public int getTypeCode()
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.
getTypeCode
 in class SBase
SBML_SPECIES_REFERENCE
(default).
SpeciesReference.getElementName()
,
SBase.getPackageName()
public java.lang.String getElementName()
SpeciesReference
, is always 'speciesReference'.
getElementName
 in class SBase
'speciesReference'.
public boolean hasRequiredAttributes()
true
if
all the required attributes for this SpeciesReference
object
have been set.
The required attributes for a SpeciesReference
object are:
hasRequiredAttributes
 in class SBase
true
if the required attributes have been set, false
otherwise.