public class ReactionGlyph extends GraphicalObject
Analogous to how a Reaction
object has to at least have one reactant or
product, the ReactionGlyph
has to at least have one SpeciesReferenceGlyph
stored in the ListOfSpeciesReferenceGlyphs
. Figure 12 on the following
page provides the UML diagram for the class definition. The ReactionGlyph
inherits from GraphicalObject
. In addition to the attributes inherited
from GraphicalObject
, the ReactionGlyph
is described by an attribute
reaction, a Curve
element and a listOfSpeciesReferenceGlyphs element. The
Curve
describes the center section of a ReactionGlyph
. The center section
is frequently used by tools to separate the point where substrates arcs
come together, from the point where product arcs split off. The Curve
is
optional, and when not present the dimensions of the inherited BoundingBox
describes the center section, by storing its position and dimension.
Constructor and Description |
---|
ReactionGlyph()
Creates a new
ReactionGlyph . |
ReactionGlyph(LayoutPkgNamespaces layoutns)
Creates a new
ReactionGlyph with the given LayoutPkgNamespaces object. |
ReactionGlyph(LayoutPkgNamespaces layoutns,
java.lang.String id)
Creates a ResctionGlyph with the given
LayoutPkgNamespaces and id. |
ReactionGlyph(LayoutPkgNamespaces layoutns,
java.lang.String id,
java.lang.String reactionId)
Creates a ResctionGlyph with the given
LayoutPkgNamespaces , id and set the id of the
associated reaction to the second argument. |
ReactionGlyph(long level)
Creates a new
ReactionGlyph . |
ReactionGlyph(long level,
long version)
Creates a new
ReactionGlyph . |
ReactionGlyph(long level,
long version,
long pkgVersion)
Creates a new
ReactionGlyph . |
ReactionGlyph(ReactionGlyph source)
Copy constructor.
|
ReactionGlyph(XMLNode node)
Creates a new
ReactionGlyph from the given XMLNode |
ReactionGlyph(XMLNode node,
long l2version)
Creates a new
ReactionGlyph from the given XMLNode |
Modifier and Type | Method and Description |
---|---|
int |
addSpeciesReferenceGlyph(SpeciesReferenceGlyph glyph)
Adds a new species reference glyph to the list.
|
ReactionGlyph |
cloneObject()
Creates and returns a deep copy of this
ReactionGlyph object. |
void |
connectToChild()   |
CubicBezier |
createCubicBezier()
Creates a new
CubicBezier object, adds it to the end of the list of
curve segment objects of the curve and returns a reference to the
newly created object. |
LineSegment |
createLineSegment()
Creates a new
LineSegment object, adds it to the end of the list of
curve segment objects of the curve and returns a reference to the
newly created object. |
SpeciesReferenceGlyph |
createSpeciesReferenceGlyph()
Creates a new
SpeciesReferenceGlyph object, adds it to the end of the
list of species reference objects and returns a reference to the newly
created object. |
void |
delete()
Explicitly deletes the underlying native object.
|
Curve |
getCurve()
Returns the curve object for the reaction glyph
|
boolean |
getCurveExplicitlySet()   |
java.lang.String |
getElementName()
Returns the XML element name of
this SBML object.
|
long |
getIndexForSpeciesReferenceGlyph(java.lang.String id)
Returns the index of the species reference glyph with the given
id . |
ListOfSpeciesReferenceGlyphs |
getListOfSpeciesReferenceGlyphs()
Returns the
ListOf object that hold the species reference glyphs. |
long |
getNumSpeciesReferenceGlyphs()
Returns the number of species reference glyph objects.
|
java.lang.String |
getReactionId()
Returns the id of the associated reaction.
|
SpeciesReferenceGlyph |
getSpeciesReferenceGlyph(long index)
Returns the species reference glyph with the given index.
|
int |
getTypeCode()
Returns the libSBML type code of this object instance.
|
void |
initDefaults()
Calls initDefaults from
GraphicalObject . |
boolean |
isSetCurve()
Returns
true if the curve consists of one or more segments. |
boolean |
isSetReactionId()
Returns
true if the id of the associated reaction is not the empty
string. |
SpeciesReferenceGlyph |
removeSpeciesReferenceGlyph(long index)
Remove the species reference glyph with the given index.
|
SpeciesReferenceGlyph |
removeSpeciesReferenceGlyph(java.lang.String id)
Remove the species reference glyph with the given
id . |
void |
renameSIdRefs(java.lang.String oldid,
java.lang.String newid)
Replaces all uses of a given
SIdRef type attribute value with another
value. |
void |
setCurve(Curve curve)
Sets the curve object for the reaction glyph.
|
int |
setReactionId(java.lang.String id)
Sets the id of the associated reaction.
|
XMLNode |
toXML()
Creates an
XMLNode object from this. |
getBoundingBox, getBoundingBoxExplicitlySet, getId, getMetaIdRef, isSetId, isSetMetaIdRef, renameMetaIdRefs, setBoundingBox, setId, setMetaIdRef, unsetId, unsetMetaIdRef
addCVTerm, addCVTerm, appendAnnotation, appendAnnotation, appendNotes, appendNotes, 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, getName, 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, isSetName, isSetNotes, isSetSBOTerm, isSetUserData, matchesRequiredSBMLNamespacesForAddition, matchesSBMLNamespaces, removeFromParentAndDelete, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, renameUnitSIdRefs, replaceTopLevelAnnotationElement, replaceTopLevelAnnotationElement, setAnnotation, setAnnotation, setIdAttribute, setMetaId, setModelHistory, setName, setNamespaces, setNotes, setNotes, setNotes, setSBOTerm, setSBOTerm, toSBML, toXMLNode, unsetAnnotation, unsetCVTerms, unsetIdAttribute, unsetMetaId, unsetModelHistory, unsetName, unsetNotes, unsetSBOTerm, unsetUserData
public ReactionGlyph(long level, long version, long pkgVersion) throws SBMLConstructorException
ReactionGlyph
. The list of species reference glyph is
empty and the id of the associated reaction is set to the empty
string.
level
- the SBML Level.version
- the Version within the SBML Level.pkgVersion
- the version of the package.
SBMLConstructorException
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. For packages, this means that the
parent object to which this package element is being added must have
been created with the package namespace, or that the package namespace
was added to it, even if that parent is not a package object itself.public ReactionGlyph(long level, long version) throws SBMLConstructorException
ReactionGlyph
. The list of species reference glyph is
empty and the id of the associated reaction is set to the empty
string.
level
- the SBML Level.version
- the Version within the SBML Level.pkgVersion
- the version of the package.
SBMLConstructorException
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. For packages, this means that the
parent object to which this package element is being added must have
been created with the package namespace, or that the package namespace
was added to it, even if that parent is not a package object itself.public ReactionGlyph(long level) throws SBMLConstructorException
ReactionGlyph
. The list of species reference glyph is
empty and the id of the associated reaction is set to the empty
string.
level
- the SBML Level.version
- the Version within the SBML Level.pkgVersion
- the version of the package.
SBMLConstructorException
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. For packages, this means that the
parent object to which this package element is being added must have
been created with the package namespace, or that the package namespace
was added to it, even if that parent is not a package object itself.public ReactionGlyph() throws SBMLConstructorException
ReactionGlyph
. The list of species reference glyph is
empty and the id of the associated reaction is set to the empty
string.
level
- the SBML Level.version
- the Version within the SBML Level.pkgVersion
- the version of the package.
SBMLConstructorException
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. For packages, this means that the
parent object to which this package element is being added must have
been created with the package namespace, or that the package namespace
was added to it, even if that parent is not a package object itself.public ReactionGlyph(LayoutPkgNamespaces layoutns) throws SBMLConstructorException
ReactionGlyph
with the given LayoutPkgNamespaces
object.
The package namespaces object used in this constructor is derived from a
SBMLNamespaces
object, which encapsulates SBML Level/Version/namespaces
information. It is used to communicate the SBML Level, Version, and
package version and name information used in addition to SBML Level 3 Core. A
common approach to using libSBML's SBMLNamespaces
facilities is to create an
package namespace object somewhere in a program once, then hand that object
as needed to object constructors of that package that accept it as and
argument, such as this one.
layoutns
- the LayoutPkgNamespaces
object.
SBMLConstructorException
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. For packages, this means that the
parent object to which this package element is being added must have
been created with the package namespace, or that the package namespace
was added to it, even if that parent is not a package object itself.public ReactionGlyph(LayoutPkgNamespaces layoutns, java.lang.String id) throws SBMLConstructorException
LayoutPkgNamespaces
and id.
(FOR BACKWARD COMPATIBILITY)
SBMLConstructorException
public ReactionGlyph(LayoutPkgNamespaces layoutns, java.lang.String id, java.lang.String reactionId) throws SBMLConstructorException
LayoutPkgNamespaces
, id and set the id of the
associated reaction to the second argument.
(FOR BACKWARD COMPATIBILITY)
SBMLConstructorException
public ReactionGlyph(XMLNode node, long l2version) throws SBMLConstructorException
SBMLConstructorException
public ReactionGlyph(XMLNode node) throws SBMLConstructorException
SBMLConstructorException
public ReactionGlyph(ReactionGlyph source) throws SBMLConstructorException
source
- the 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 ReactionGlyph.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 ReactionGlyph.delete()
themselves.
delete
 in class GraphicalObject
public java.lang.String getReactionId()
public int setReactionId(java.lang.String id)
public boolean isSetReactionId()
true
if the id of the associated reaction is not the empty
string.public ListOfSpeciesReferenceGlyphs getListOfSpeciesReferenceGlyphs()
ListOf
object that hold the species reference glyphs.public SpeciesReferenceGlyph getSpeciesReferenceGlyph(long index)
null
is returned.public int addSpeciesReferenceGlyph(SpeciesReferenceGlyph glyph)
public long getNumSpeciesReferenceGlyphs()
public void initDefaults()
GraphicalObject
.initDefaults
 in class GraphicalObject
public void renameSIdRefs(java.lang.String oldid, java.lang.String newid)
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.
renameSIdRefs
 in class SBase
oldid
- the old identifier.newid
- the new identifier.public void setCurve(Curve curve)
public boolean isSetCurve()
true
if the curve consists of one or more segments.public boolean getCurveExplicitlySet()
public SpeciesReferenceGlyph createSpeciesReferenceGlyph()
SpeciesReferenceGlyph
object, adds it to the end of the
list of species reference objects and returns a reference to the newly
created object.public LineSegment createLineSegment()
LineSegment
object, adds it to the end of the list of
curve segment objects of the curve and returns a reference to the
newly created object.public CubicBezier createCubicBezier()
CubicBezier
object, adds it to the end of the list of
curve segment objects of the curve and returns a reference to the
newly created object.public SpeciesReferenceGlyph removeSpeciesReferenceGlyph(long index)
public SpeciesReferenceGlyph removeSpeciesReferenceGlyph(java.lang.String id)
id
.
A pointer to the object is returned. If no object has been removed, null
is returned.public long getIndexForSpeciesReferenceGlyph(java.lang.String id)
id
.
If the reaction glyph does not contain a species reference glyph with this
id, the
value of the maximum long integer is returned as an indicator.public java.lang.String getElementName()
getElementName
 in class GraphicalObject
public ReactionGlyph cloneObject()
ReactionGlyph
object.
cloneObject
 in class GraphicalObject
ReactionGlyph
.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 GraphicalObject
SBML_LAYOUT_REACTIONGLYPH
.
ReactionGlyph.getElementName()
,
SBase.getPackageName()
public XMLNode toXML()
XMLNode
object from this.toXML
 in class GraphicalObject
public void connectToChild()
connectToChild
 in class GraphicalObject