public class ReferenceGlyph extends GraphicalObject
The ReferenceGlyph
element describes the graphical connection between an
arbitrary GraphicalObject
(or derived element) and a GeneralGlyph
(which
would be an arrow or some curve in most cases). A ReferenceGlyph
inherits
from GraphicalObject
. Additionally it has a mandatory attribute 'glyph'
and two optional attributes 'reference' and 'role'. Optionally, the
ReferenceGlyph
also has an element 'curve'. The ReferenceGlyph
should
either contain a bounding box or a curve specification. If both are
given, the bounding box should be ignored.
Constructor and Description |
---|
ReferenceGlyph()
Creates a new
ReferenceGlyph with the given SBML level, version and
package version. |
ReferenceGlyph(LayoutPkgNamespaces layoutns)
Constructor.
|
ReferenceGlyph(LayoutPkgNamespaces layoutns,
java.lang.String sid,
java.lang.String glyphId,
java.lang.String referenceId,
java.lang.String role)
Creates a new
ReferenceGlyph . |
ReferenceGlyph(long level)
Creates a new
ReferenceGlyph with the given SBML level, version and
package version. |
ReferenceGlyph(long level,
long version)
Creates a new
ReferenceGlyph with the given SBML level, version and
package version. |
ReferenceGlyph(long level,
long version,
long pkgVersion)
Creates a new
ReferenceGlyph with the given SBML level, version and
package version. |
ReferenceGlyph(ReferenceGlyph source)
Copy constructor.
|
ReferenceGlyph(XMLNode node)
Creates a new
ReferenceGlyph from the given XMLNode |
ReferenceGlyph(XMLNode node,
long l2version)
Creates a new
ReferenceGlyph from the given XMLNode |
Modifier and Type | Method and Description |
---|---|
ReferenceGlyph |
cloneObject()
Creates and returns a deep copy of this
ReferenceGlyph . |
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. |
void |
delete()
Explicitly deletes the underlying native object.
|
Curve |
getCurve()
Returns the curve object for the reference glyph
|
boolean |
getCurveExplicitlySet()   |
java.lang.String |
getElementName()
Returns the XML element name of
this SBML object.
|
java.lang.String |
getGlyphId()
Returns the id of the associated glyph.
|
java.lang.String |
getReferenceId()
Returns the id of the associated sbml reference.
|
java.lang.String |
getRole()
Returns a string representation of the role.
|
int |
getTypeCode()
Returns the libSBML type code of this object instance.
|
void |
initDefaults()
Calls initDefaults on
GraphicalObject |
boolean |
isSetCurve()
Returns
true if the curve consists of one or more segments. |
boolean |
isSetGlyphId()
Returns
true if the id of the associated glyph is not the
empty string. |
boolean |
isSetReferenceId()
Returns
true if the id of the associated reference is not the
empty string. |
boolean |
isSetRole()
Returns
true of role is different from the empty string. |
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 reference glyph.
|
void |
setGlyphId(java.lang.String glyphId)
Sets the id of the associated glyph.
|
void |
setReferenceId(java.lang.String id)
Sets the id of the associated sbml reference.
|
void |
setRole(java.lang.String role)
Sets the role.
|
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, getPackageCoreVersion, 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 ReferenceGlyph(long level, long version, long pkgVersion) throws SBMLConstructorException
ReferenceGlyph
with the given SBML level, version and
package version. The id if the associated
reference and the id of the associated glyph are set to the
empty string. The role is set to empty.
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 ReferenceGlyph(long level, long version) throws SBMLConstructorException
ReferenceGlyph
with the given SBML level, version and
package version. The id if the associated
reference and the id of the associated glyph are set to the
empty string. The role is set to empty.
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 ReferenceGlyph(long level) throws SBMLConstructorException
ReferenceGlyph
with the given SBML level, version and
package version. The id if the associated
reference and the id of the associated glyph are set to the
empty string. The role is set to empty.
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 ReferenceGlyph() throws SBMLConstructorException
ReferenceGlyph
with the given SBML level, version and
package version. The id if the associated
reference and the id of the associated glyph are set to the
empty string. The role is set to empty.
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 ReferenceGlyph(LayoutPkgNamespaces layoutns) throws SBMLConstructorException
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 ReferenceGlyph(LayoutPkgNamespaces layoutns, java.lang.String sid, java.lang.String glyphId, java.lang.String referenceId, java.lang.String role) throws SBMLConstructorException
ReferenceGlyph
. The id is given as the first
argument, the id of the associated glyph is given as the
second argument. The third argument is the id of the associated
reference and the fourth argument is the role.SBMLConstructorException
public ReferenceGlyph(XMLNode node, long l2version) throws SBMLConstructorException
ReferenceGlyph
from the given XMLNode
SBMLConstructorException
public ReferenceGlyph(XMLNode node) throws SBMLConstructorException
ReferenceGlyph
from the given XMLNode
SBMLConstructorException
public ReferenceGlyph(ReferenceGlyph 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 ReferenceGlyph.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 ReferenceGlyph.delete()
themselves.
delete
 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 java.lang.String getGlyphId()
public void setGlyphId(java.lang.String glyphId)
public java.lang.String getReferenceId()
public void setReferenceId(java.lang.String id)
public java.lang.String getRole()
public void setRole(java.lang.String role)
public void setCurve(Curve curve)
public boolean isSetCurve()
true
if the curve consists of one or more segments.public boolean getCurveExplicitlySet()
public boolean isSetGlyphId()
true
if the id of the associated glyph is not the
empty string.public boolean isSetReferenceId()
true
if the id of the associated reference is not the
empty string.public boolean isSetRole()
true
of role is different from the empty string.public void initDefaults()
GraphicalObject
initDefaults
 in class GraphicalObject
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 java.lang.String getElementName()
getElementName
 in class GraphicalObject
public ReferenceGlyph cloneObject()
ReferenceGlyph
.
cloneObject
 in class GraphicalObject
ReferenceGlyph
.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
method on the object.
SBase.getPackageName()
getTypeCode
 in class GraphicalObject
SBML_LAYOUT_REFERENCEGLYPH
.
ReferenceGlyph.getElementName()
,
SBase.getPackageName()
public XMLNode toXML()
XMLNode
object from this.toXML
 in class GraphicalObject
public void connectToChild()
connectToChild
 in class GraphicalObject