public class CompartmentType extends SBase
SBML Level 2 Versions 2&ndash4 provide the compartment
type as a grouping construct that can be used to establish a
relationship between multiple Compartment objects. A CompartmentType
object only has an identity, and this identity can only be used to
indicate that particular Compartment objects in the model belong to this
type. This may be useful for conveying a modeling intention, such as
when a model contains many similar compartments, either by their
biological function or the reactions they carry. Without a compartment
type construct, it would be impossible within SBML itself to indicate
that all of the compartments share an underlying conceptual relationship
because each SBML compartment must be given a unique and separate
identity. Compartment types have no mathematical meaning in
SBML&mdashthey have no effect on a model's mathematical interpretation.
Simulators and other numerical analysis software may ignore
CompartmentType definitions and references to them in a model.
There is no mechanism in SBML Level 2 for representing hierarchies of
compartment types. One CompartmentType instance cannot be the subtype
of another CompartmentType instance SBML provides no means of defining
such relationships.
As with other major structures in SBML, CompartmentType has a mandatory
attribute, 'id', used to give the compartment type an identifier. The
identifier must be a text string conforming to the identifer syntax
permitted in SBML. CompartmentType also has an optional 'name'
attribute, of type string. The 'id' and 'name' must be used
according to the guidelines described in the SBML specification (e.g.,
Section 3.3 in the Level 2 Version 4 specification).
CompartmentType was introduced in SBML Level 2 Version 2. It is not
available in SBML Level 1 nor in Level 3.
Compartment,
ListOfCompartmentTypes,
SpeciesType,
ListOfSpeciesTypes| Constructor and Description |
|---|
CompartmentType(CompartmentType orig)
Copy constructor creates a copy of this
CompartmentType object. |
CompartmentType(long level,
long version)
|
CompartmentType(SBMLNamespaces sbmlns)
|
| Modifier and Type | Method and Description |
|---|---|
CompartmentType |
cloneObject()
Creates and returns a deep copy of this
CompartmentType object. |
void |
delete()
Explicitly deletes the underlying native object.
|
java.lang.String |
getElementName()
Returns the XML element name of this object
|
java.lang.String |
getId()
Returns the value of the 'id' attribute of this
CompartmentType object. |
java.lang.String |
getName()
Returns the value of the 'name' attribute of this
CompartmentType
object. |
int |
getTypeCode()
Returns the libSBML type code for this SBML object.
|
boolean |
hasRequiredAttributes()
Predicate returning
true if all the required attributes for this
CompartmentType object have been set. |
boolean |
isSetId()
Predicate returning
true if this CompartmentType object's 'id'
attribute is set. |
boolean |
isSetName()
Predicate returning
true if this CompartmentType object's 'name'
attribute is set. |
int |
setId(java.lang.String sid)
Sets the value of the 'id' attribute of this
CompartmentType object. |
int |
setName(java.lang.String name)
Sets the value of the 'name' attribute of this
CompartmentType object. |
int |
unsetName()
Unsets the value of the 'name' attribute of this
CompartmentType object. |
addCVTerm, addCVTerm, appendAnnotation, appendAnnotation, appendNotes, appendNotes, connectToChild, deleteDisabledPlugins, deleteDisabledPlugins, disablePackage, enablePackage, equals, getAncestorOfType, getAncestorOfType, getAnnotation, getAnnotationString, getColumn, getCVTerm, getCVTerms, getDisabledPlugin, getElementByMetaId, getElementBySId, getLevel, getLine, getListOfAllElements, getListOfAllElements, getListOfAllElementsFromPlugins, getListOfAllElementsFromPlugins, getMetaId, getModel, getModelHistory, getNamespaces, getNotes, getNotesString, getNumCVTerms, getNumDisabledPlugins, getNumPlugins, getPackageName, getPackageVersion, getParentSBMLObject, getPlugin, getPlugin, getPrefix, getResourceBiologicalQualifier, getResourceModelQualifier, getSBMLDocument, getSBOTerm, getSBOTermAsURL, getSBOTermID, getURI, getVersion, hashCode, hasValidLevelVersionNamespaceCombination, isPackageEnabled, isPackageURIEnabled, isPkgEnabled, isPkgURIEnabled, isSetAnnotation, isSetMetaId, isSetModelHistory, isSetNotes, isSetSBOTerm, isSetUserData, matchesRequiredSBMLNamespacesForAddition, matchesSBMLNamespaces, removeFromParentAndDelete, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, removeTopLevelAnnotationElement, renameMetaIdRefs, renameSIdRefs, renameUnitSIdRefs, replaceTopLevelAnnotationElement, replaceTopLevelAnnotationElement, setAnnotation, setAnnotation, setMetaId, setModelHistory, setNamespaces, setNotes, setNotes, setNotes, setSBOTerm, setSBOTerm, toSBML, toXMLNode, unsetAnnotation, unsetCVTerms, unsetId, unsetMetaId, unsetModelHistory, unsetNotes, unsetSBOTerm, unsetUserDatapublic CompartmentType(long level, long version) throws SBMLConstructorException
level - a long integer, the SBML Level to assign to this
CompartmentType
version - a long integer, the SBML Version to assign to this
CompartmentType
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 CompartmentType(SBMLNamespaces sbmlns) throws SBMLConstructorException
CompartmentType object using the given SBMLNamespaces
object sbmlns.
The SBMLNamespaces object encapsulates SBML Level/Version/namespaces
information. It is used to communicate the SBML Level, Version, and (in
Level 3) packages used in addition to SBML Level 3 Core. A
common approach to using libSBML's SBMLNamespaces facilities is to create an
SBMLNamespaces object somewhere in a program once, then hand that object
as needed to object constructors that accept SBMLNamespaces as arguments.
It is worth emphasizing that although this constructor does not take an
identifier argument, in SBML Level 2 and beyond, the 'id'
(identifier) attribute of a CompartmentType object is required to have a
value. Thus, callers are cautioned to assign a value after calling this
constructor. Setting the identifier can be accomplished using the
method setId(String).
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 CompartmentType(CompartmentType orig) throws SBMLConstructorException
CompartmentType object.
orig - the object to copy.SBMLConstructorExceptionpublic 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 CompartmentType.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 CompartmentType.delete() themselves.
public CompartmentType cloneObject()
CompartmentType object.
cloneObject in class SBaseCompartmentType object.public java.lang.String getId()
CompartmentType object.
getId in class SBaseCompartmentType object.
CompartmentType.getName(),
CompartmentType.setId(String),
SBase.unsetId(),
CompartmentType.isSetId()public java.lang.String getName()
CompartmentType
object.
getName in class SBaseCompartmentType object.
CompartmentType.getId(),
CompartmentType.isSetName(),
CompartmentType.setName(String),
CompartmentType.unsetName()public boolean isSetId()
true if this CompartmentType object's 'id'
attribute is set.
isSetId in class SBasetrue if the 'id' attribute of this CompartmentType object is
set, false otherwise.
CompartmentType.getId(),
SBase.unsetId(),
CompartmentType.setId(String)public boolean isSetName()
true if this CompartmentType object's 'name'
attribute is set.
isSetName in class SBasetrue if the 'name' attribute of this CompartmentType object
is set, false otherwise.
CompartmentType.getName(),
CompartmentType.setName(String),
CompartmentType.unsetName()public int setId(java.lang.String sid)
CompartmentType object.
The string sid is copied.
SBML has strict requirements for the syntax of identifiers, that is, the
values of the 'id' attribute present on most types of SBML objects.
The following is a summary of the definition of the SBML identifier type
SId, which defines the permitted syntax of identifiers. We
express the syntax using an extended form of BNF notation:
letter .= 'a'..'z','A'..'Z' digit .= '0'..'9' idChar .= letter | digit | '_' SId .= ( letter | '_' ) idChar*The characters
( and ) are used for grouping, the
character * 'zero or more times', and the character
| indicates logical 'or'. The equality of SBML identifiers is
determined by an exact character sequence match i.e., comparisons must be
performed in a case-sensitive manner. In addition, there are a few
conditions for the uniqueness of identifiers in an SBML model. Please
consult the SBML specifications for the exact details of the uniqueness
requirements.
setId in class SBasesid - the string to use as the identifier of this CompartmentType
CompartmentType.getId(),
SBase.unsetId(),
CompartmentType.isSetId()public int setName(java.lang.String name)
CompartmentType object.
The string in name is copied.
setName in class SBasename - the new name for the CompartmentType
CompartmentType.getName(),
CompartmentType.isSetName(),
CompartmentType.unsetName()public int unsetName()
CompartmentType object.
unsetName in class SBaseCompartmentType.getName(),
CompartmentType.setName(String),
CompartmentType.isSetName()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 SBaseSBML_COMPARTMENT_TYPE (default).
CompartmentType.getElementName(),
SBase.getPackageName()public java.lang.String getElementName()
For CompartmentType, the element name is always 'compartmentType'.
getElementName in class SBaseCompartmentType.getTypeCode(),
SBase.getPackageName()public boolean hasRequiredAttributes()
true if all the required attributes for this
CompartmentType object have been set.
The required attributes for a CompartmentType object are:
hasRequiredAttributes in class SBasetrue if the required attributes have been set, false
otherwise.