public class FbcAssociation extends SBase
FbcAnd
, FbcOr
, and GeneProductRef
The FbcAssociation
class is the abstract base class for the classes that
can be used as children of the GeneProductAssociation
child of a Reaction
.
The FbcAnd
class is used when all of its children are definitely associated
with the Reaction
the FbcOr
class is used when at least one of its children
are associated with the Reaction
and the GeneProductRef
class is used to
denote a particular GeneProduct
.
ListOfFbcAssociations
,
FbcAnd
,
FbcOr
,
GeneProductRef
Association
and
GeneAssociation
annotation classes. Please see the Version 1 and
Version 2 &ldquofbc&rdquo specifications for more details.
Constructor and Description |
---|
FbcAssociation()
Creates a new
FbcAssociation with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
FbcAssociation(FbcAssociation orig)
Copy constructor for
FbcAssociation . |
FbcAssociation(FbcPkgNamespaces fbcns)
Creates a new
FbcAssociation with the given FbcPkgNamespaces object. |
FbcAssociation(long level)
Creates a new
FbcAssociation with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
FbcAssociation(long level,
long version)
Creates a new
FbcAssociation with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
FbcAssociation(long level,
long version,
long pkgVersion)
Creates a new
FbcAssociation with the given SBML Level, Version, and
&ldquofbc&rdquopackage version. |
Modifier and Type | Method and Description |
---|---|
FbcAssociation |
cloneObject()
Creates and returns a deep copy of this
FbcAssociation object. |
void |
delete()
Explicitly deletes the underlying native object.
|
java.lang.String |
getElementName()
Returns the XML element name of this object.
|
int |
getTypeCode()
Returns the libSBML type code for this SBML object.
|
boolean |
hasRequiredAttributes()
Predicate returning
true if all the required attributes
for this FbcAssociation object have been set. |
boolean |
isFbcAnd()
|
boolean |
isFbcOr()
|
boolean |
isGeneProductRef()
|
static FbcAssociation |
parseFbcInfixAssociation(java.lang.String association,
FbcModelPlugin plugin)
Parses a gene association in infix format and returns a corresponding
Association object. |
static FbcAssociation |
parseFbcInfixAssociation(java.lang.String association,
FbcModelPlugin plugin,
boolean usingId)
Parses a gene association in infix format and returns a corresponding
Association object. |
static FbcAssociation |
parseFbcInfixAssociation(java.lang.String association,
FbcModelPlugin plugin,
boolean usingId,
boolean addMissingGP)
Parses a gene association in infix format and returns a corresponding
Association object. |
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. |
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, getPackageCoreVersion, 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 FbcAssociation(long level, long version, long pkgVersion) throws SBMLConstructorException
FbcAssociation
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this
FbcAssociation
.
version
- a long integer, the SBML Version to assign to this
FbcAssociation
.
pkgVersion
- a long integer, the SBML &ldquofbc&rdquo package
Version to assign to this FbcAssociation
.
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 FbcAssociation(long level, long version) throws SBMLConstructorException
FbcAssociation
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this
FbcAssociation
.
version
- a long integer, the SBML Version to assign to this
FbcAssociation
.
pkgVersion
- a long integer, the SBML &ldquofbc&rdquo package
Version to assign to this FbcAssociation
.
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 FbcAssociation(long level) throws SBMLConstructorException
FbcAssociation
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this
FbcAssociation
.
version
- a long integer, the SBML Version to assign to this
FbcAssociation
.
pkgVersion
- a long integer, the SBML &ldquofbc&rdquo package
Version to assign to this FbcAssociation
.
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 FbcAssociation() throws SBMLConstructorException
FbcAssociation
with the given SBML Level, Version, and
&ldquofbc&rdquopackage version.
level
- a long integer, the SBML Level to assign to this
FbcAssociation
.
version
- a long integer, the SBML Version to assign to this
FbcAssociation
.
pkgVersion
- a long integer, the SBML &ldquofbc&rdquo package
Version to assign to this FbcAssociation
.
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 FbcAssociation(FbcPkgNamespaces fbcns) throws SBMLConstructorException
FbcAssociation
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 FbcAssociation(FbcAssociation orig) throws SBMLConstructorException
FbcAssociation
.
orig
- the FbcAssociation
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 FbcAssociation.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 FbcAssociation.delete()
themselves.
public FbcAssociation cloneObject()
FbcAssociation
object.
cloneObject
 in class SBase
FbcAssociation
object.public boolean isFbcAnd()
true
, if this abstract FbcAssociation
is of type FbcAnd
.public boolean isFbcOr()
true
, if this abstract FbcAssociation
is of type FbcOr
.public boolean isGeneProductRef()
true
, if this abstract FbcAssociation
is of type
GeneProductRef
.public java.lang.String getElementName()
For FbcAssociation
, the XML element name is always 'fbcAssociation'.
getElementName
 in class SBase
'fbcAssociation'.
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 SBase
SBML_FBC_ASSOCIATION
(default).
FbcAssociation.getElementName()
,
SBase.getPackageName()
public boolean hasRequiredAttributes()
true
if all the required attributes
for this FbcAssociation
object have been set.
hasRequiredAttributes
 in class SBase
FbcAssociation
has no required attributes, so this
method always returns true.
public static FbcAssociation parseFbcInfixAssociation(java.lang.String association, FbcModelPlugin plugin, boolean usingId, boolean addMissingGP)
Association
object.
This parses a string that has a list of gene names and conjunctions or disjunctions. For example:
(b2422) and (b2425) and (b2423) and (b2424) or (b2422) and (b2423) and (b2424) and (b2413) and (b3917)
The 'and' operator takes precedence over the 'or' operator, meaning that the above input string would turn into two groups of gene names: either 'b2422, b2425, b2423, and b2424' or 'b2422, b2423, b2424, b2413, and b3917'. Parentheses may be added to make things more clear, and to encode alternative schemes.
This method also creates missing GeneProduct
objects, in case the unique
reference does not yet exist.
association
- the string to parse.plugin
- the FbcModelPlugin
on which to add the geneProduct elements.usingId
- boolean indicating whether the infix assumes identifiers (true
)
or labels (false
default).addMissingGP
- boolean indicating whether to add missing geneProducts
(true
default) or not (false
).
null
in case of an error.
public static FbcAssociation parseFbcInfixAssociation(java.lang.String association, FbcModelPlugin plugin, boolean usingId)
Association
object.
This parses a string that has a list of gene names and conjunctions or disjunctions. For example:
(b2422) and (b2425) and (b2423) and (b2424) or (b2422) and (b2423) and (b2424) and (b2413) and (b3917)
The 'and' operator takes precedence over the 'or' operator, meaning that the above input string would turn into two groups of gene names: either 'b2422, b2425, b2423, and b2424' or 'b2422, b2423, b2424, b2413, and b3917'. Parentheses may be added to make things more clear, and to encode alternative schemes.
This method also creates missing GeneProduct
objects, in case the unique
reference does not yet exist.
association
- the string to parse.plugin
- the FbcModelPlugin
on which to add the geneProduct elements.usingId
- boolean indicating whether the infix assumes identifiers (true
)
or labels (false
default).addMissingGP
- boolean indicating whether to add missing geneProducts
(true
default) or not (false
).
null
in case of an error.
public static FbcAssociation parseFbcInfixAssociation(java.lang.String association, FbcModelPlugin plugin)
Association
object.
This parses a string that has a list of gene names and conjunctions or disjunctions. For example:
(b2422) and (b2425) and (b2423) and (b2424) or (b2422) and (b2423) and (b2424) and (b2413) and (b3917)
The 'and' operator takes precedence over the 'or' operator, meaning that the above input string would turn into two groups of gene names: either 'b2422, b2425, b2423, and b2424' or 'b2422, b2423, b2424, b2413, and b3917'. Parentheses may be added to make things more clear, and to encode alternative schemes.
This method also creates missing GeneProduct
objects, in case the unique
reference does not yet exist.
association
- the string to parse.plugin
- the FbcModelPlugin
on which to add the geneProduct elements.usingId
- boolean indicating whether the infix assumes identifiers (true
)
or labels (false
default).addMissingGP
- boolean indicating whether to add missing geneProducts
(true
default) or not (false
).
null
in case of an error.
public java.lang.String toInfix(boolean usingId)
FbcAssociation
object into an infix string representation.
public java.lang.String toInfix()
FbcAssociation
object into an infix string representation.