public class FbcOr extends FbcAssociation
FbcOr
class is used in Version 2 of the SBML Level 3 Flux Balance Constraints
(&ldquofbc&rdquo) package to represent an 'or' relationship between two
or more child FbcAssociation
objects. In other words, it indicates that
only one of the child objects are included. Note that since the
FbcAssociation
class is the parent class of GeneProductRef
, FbcAnd
, and
FbcOr
, a given FbcOr
can potentially include nested 'and'/'or'
combinations of gene products.
FbcAssociation
,
FbcAnd
,
GeneProductRef
Association
and
GeneAssociation
annotation classes. Please see the Version 1 and
Version 2 &ldquofbc&rdquo specifications for more details.
Constructor and Description |
---|
FbcOr()
Creates a new
FbcOr with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
FbcOr(FbcOr orig)
Copy constructor for
FbcOr . |
FbcOr(FbcPkgNamespaces fbcns)
Creates a new
FbcOr with the given FbcPkgNamespaces object. |
FbcOr(long level)
Creates a new
FbcOr with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
FbcOr(long level,
long version)
Creates a new
FbcOr with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
FbcOr(long level,
long version,
long pkgVersion)
Creates a new
FbcOr with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
Modifier and Type | Method and Description |
---|---|
int |
addAssociation(FbcAssociation fa)
Adds a copy the given
FbcAssociation to this FbcOr . |
FbcOr |
cloneObject()
Creates and returns a deep copy of this
FbcOr object. |
FbcAnd |
createAnd()
Creates a new
FbcAnd object, adds it to this FbcOr 's
ListOfFbcAssociations and returns the FbcAnd object created. |
GeneProductRef |
createGeneProductRef()
Creates a new
GeneProductRef object, adds it to this FbcOr 's
ListOfFbcAssociations and returns the GeneProductRef object created. |
FbcOr |
createOr()
Creates a new
FbcOr object, adds it to this FbcOr 's
ListOfFbcAssociations and returns the FbcOr object created. |
void |
delete()
Explicitly deletes the underlying native object.
|
FbcAssociation |
getAssociation(long n)
Get a
Association from the ListOfFbcAssociations . |
FbcAssociation |
getAssociation(java.lang.String sid)
Get a
Association from the ListOfFbcAssociations
based on its identifier. |
java.lang.String |
getElementName()
Returns the XML element name of this object.
|
ListOfFbcAssociations |
getListOfAssociations()
Returns the 'ListOfFbcAssociations' in this
FbcOr object. |
long |
getNumAssociations()
Get the number of
FbcAssociation objects in this FbcOr . |
int |
getTypeCode()
Returns the libSBML type code for this SBML object.
|
boolean |
hasRequiredAttributes()
Predicate returning
true if all the required attributes
for this FbcOr object have been set. |
boolean |
hasRequiredElements()
Predicate returning
true if all the required elements
for this FbcOr object have been set. |
FbcAssociation |
removeAssociation(long n)
Removes the nth
Association from the ListOfFbcAssociations within this FbcOr
and returns a pointer to it. |
FbcAssociation |
removeAssociation(java.lang.String sid)
Removes the
Association with the given identifier from the ListOfFbcAssociations within this FbcOr
and returns a pointer to it. |
java.lang.String |
toInfix()
Converts this
FbcAssociation object into an infix string representation. |
java.lang.String |
toInfix(boolean usingId)
Converts this
FbcAssociation object into an infix string representation. |
isFbcAnd, isFbcOr, isGeneProductRef, parseFbcInfixAssociation, parseFbcInfixAssociation, parseFbcInfixAssociation
addCVTerm, addCVTerm, appendAnnotation, appendAnnotation, appendNotes, appendNotes, connectToChild, deleteDisabledPlugins, deleteDisabledPlugins, disablePackage, enablePackage, equals, getAncestorOfType, getAncestorOfType, getAnnotation, getAnnotationString, getColumn, getCVTerm, getCVTerms, getDisabledPlugin, getElementByMetaId, getElementBySId, getId, 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, isSetId, isSetIdAttribute, isSetMetaId, isSetModelHistory, isSetName, isSetNotes, isSetSBOTerm, isSetUserData, matchesRequiredSBMLNamespacesForAddition, matchesSBMLNamespaces, removeFromParentAndDelete, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, renameMetaIdRefs, renameSIdRefs, renameUnitSIdRefs, replaceTopLevelAnnotationElement, replaceTopLevelAnnotationElement, setAnnotation, setAnnotation, setId, setIdAttribute, setMetaId, setModelHistory, setName, setNamespaces, setNotes, setNotes, setNotes, setSBOTerm, setSBOTerm, toSBML, toXMLNode, unsetAnnotation, unsetCVTerms, unsetId, unsetIdAttribute, unsetMetaId, unsetModelHistory, unsetName, unsetNotes, unsetSBOTerm, unsetUserData
public FbcOr(long level, long version, long pkgVersion) throws SBMLConstructorException
FbcOr
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this FbcOr
.
version
- a long integer, the SBML Version to assign to this FbcOr
.
pkgVersion
- a long integer, the SBML Fbc Version to assign to
this FbcOr
.
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 FbcOr(long level, long version) throws SBMLConstructorException
FbcOr
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this FbcOr
.
version
- a long integer, the SBML Version to assign to this FbcOr
.
pkgVersion
- a long integer, the SBML Fbc Version to assign to
this FbcOr
.
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 FbcOr(long level) throws SBMLConstructorException
FbcOr
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this FbcOr
.
version
- a long integer, the SBML Version to assign to this FbcOr
.
pkgVersion
- a long integer, the SBML Fbc Version to assign to
this FbcOr
.
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 FbcOr() throws SBMLConstructorException
FbcOr
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this FbcOr
.
version
- a long integer, the SBML Version to assign to this FbcOr
.
pkgVersion
- a long integer, the SBML Fbc Version to assign to
this FbcOr
.
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 FbcOr(FbcPkgNamespaces fbcns) throws SBMLConstructorException
FbcOr
with the given FbcPkgNamespaces
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.
fbcns
- the FbcPkgNamespaces
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 FbcOr(FbcOr orig) throws SBMLConstructorException
FbcOr
.
orig
- the FbcOr
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 FbcOr.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 FbcOr.delete()
themselves.
delete
 in class FbcAssociation
public FbcOr cloneObject()
FbcOr
object.
cloneObject
 in class FbcAssociation
FbcOr
object.public ListOfFbcAssociations getListOfAssociations()
FbcOr
object.
FbcOr
.public FbcAssociation getAssociation(long n)
Association
from the ListOfFbcAssociations
.
n
- the index number of the Association
to get.
Association
in the ListOfFbcAssociations
within this FbcOr
.
FbcOr.getNumAssociations()
public FbcAssociation getAssociation(java.lang.String sid)
Association
from the ListOfFbcAssociations
based on its identifier.
sid
- a string representing the identifier
of the Association
to get.
Association
in the ListOfFbcAssociations
with the given id or null if no such
Association
exists.
,
FbcOr.getAssociation(long n)
public int addAssociation(FbcAssociation fa)
FbcAssociation
to this FbcOr
.
fa
- the FbcAssociation
object to add.
public long getNumAssociations()
FbcAssociation
objects in this FbcOr
.
FbcAssociation
objects in this FbcOr
.public java.lang.String toInfix(boolean usingId)
FbcAssociation
object into an infix string representation.
toInfix
 in class FbcAssociation
public java.lang.String toInfix()
FbcAssociation
object into an infix string representation.
toInfix
 in class FbcAssociation
public FbcAnd createAnd()
FbcAnd
object, adds it to this FbcOr
's
ListOfFbcAssociations
and returns the FbcAnd
object created.
FbcAnd
object instance.
FbcOr.addAssociation(FbcAssociation fa)
public FbcOr createOr()
FbcOr
object, adds it to this FbcOr
's
ListOfFbcAssociations
and returns the FbcOr
object created.
FbcOr
object instance.
FbcOr.addAssociation(FbcAssociation fa)
public GeneProductRef createGeneProductRef()
GeneProductRef
object, adds it to this FbcOr
's
ListOfFbcAssociations
and returns the GeneProductRef
object created.
GeneProductRef
object instance.
FbcOr.addAssociation(FbcAssociation fa)
public FbcAssociation removeAssociation(long n)
Association
from the ListOfFbcAssociations
within this FbcOr
and returns a pointer to it.
The caller owns the returned item and is responsible for deleting it.
n
- the index of the Association
to remove.
FbcOr.getNumAssociations()
public FbcAssociation removeAssociation(java.lang.String sid)
Association
with the given identifier from the ListOfFbcAssociations
within this FbcOr
and returns a pointer to it.
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 Association
to remove.
Association
removed. As mentioned above, the caller owns the
returned item.public java.lang.String getElementName()
For FbcOr
, the XML element name is always 'fbcOr'.
getElementName
 in class FbcAssociation
'fbcOr'.
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 FbcAssociation
SBML_FBC_OR
(default).
FbcOr.getElementName()
,
SBase.getPackageName()
public boolean hasRequiredAttributes()
true
if all the required attributes
for this FbcOr
object have been set. Will always return
true
, since FbcOr
has no required attributes.
hasRequiredAttributes
 in class FbcAssociation
public boolean hasRequiredElements()
true
if all the required elements
for this FbcOr
object have been set.
hasRequiredElements
 in class SBase
FbcOr
object must have at least two FbcAssociation
children.