001/* ---------------------------------------------------------------------------- 002 * This file was automatically generated by SWIG (http://www.swig.org). 003 * Version 3.0.12 004 * 005 * Do not make changes to this file unless you know what you are doing--modify 006 * the SWIG interface file instead. 007 * ----------------------------------------------------------------------------- */ 008 009package org.sbml.libsbml; 010 011/** 012 * <span class="pkg-marker pkg-color-qual"><a href="group__qual.html">qual</a></span> 013 014 Extension of {@link Species}. 015 <p> 016 * Similarly to the {@link Species} in SBML, the components of qualitative models 017 * refer to pools of entities that are considered indistinguishable and are 018 * each located in a specific {@link Compartment}. However, here components are 019 * characterised by their qualitative influences rather than by taking part 020 * in reactions. Therefore, we define the {@link QualitativeSpecies} element to 021 * represent such pools of entities. 022 <p> 023 * In a Petri net, qualitative species refer to the places of the model, 024 * while in a logical model, they refer to the variables of this model 025 * (i.e. nodes of the influence graph). 026 <p> 027 * A {@link QualitativeSpecies} describes a pool of indistinguishable entities in a 028 * {@link Compartment}. It is associated with a level (an integer representing 029 * e.g. an activity state, or a functional level of concentration, etc.) 030 */ 031 032public class QualitativeSpecies extends SBase { 033 private long swigCPtr; 034 035 protected QualitativeSpecies(long cPtr, boolean cMemoryOwn) 036 { 037 super(libsbmlJNI.QualitativeSpecies_SWIGUpcast(cPtr), cMemoryOwn); 038 swigCPtr = cPtr; 039 } 040 041 protected static long getCPtr(QualitativeSpecies obj) 042 { 043 return (obj == null) ? 0 : obj.swigCPtr; 044 } 045 046 protected static long getCPtrAndDisown (QualitativeSpecies obj) 047 { 048 long ptr = 0; 049 050 if (obj != null) 051 { 052 ptr = obj.swigCPtr; 053 obj.swigCMemOwn = false; 054 } 055 056 return ptr; 057 } 058 059 protected void finalize() { 060 delete(); 061 } 062 063 public synchronized void delete() { 064 if (swigCPtr != 0) { 065 if (swigCMemOwn) { 066 swigCMemOwn = false; 067 libsbmlJNI.delete_QualitativeSpecies(swigCPtr); 068 } 069 swigCPtr = 0; 070 } 071 super.delete(); 072 } 073 074 075/** 076 * Creates a new {@link QualitativeSpecies} with the given level, version, and package version. 077 <p> 078 * @param level a long integer, the SBML Level to assign to this {@link QualitativeSpecies}. 079 <p> 080 * @param version a long integer, the SBML Version to assign to this {@link QualitativeSpecies}. 081 <p> 082 * @param pkgVersion a long integer, the SBML Qual Version to assign to this {@link QualitativeSpecies}. 083 <p> 084 * <p> 085 * @note Attempting to add an object to an {@link SBMLDocument} having a different 086 * combination of SBML Level, Version and XML namespaces than the object 087 * itself will result in an error at the time a caller attempts to make the 088 * addition. A parent object must have compatible Level, Version and XML 089 * namespaces. (Strictly speaking, a parent may also have more XML 090 * namespaces than a child, but the reverse is not permitted.) The 091 * restriction is necessary to ensure that an SBML model has a consistent 092 * overall structure. This requires callers to manage their objects 093 * carefully, but the benefit is increased flexibility in how models can be 094 * created by permitting callers to create objects bottom-up if desired. In 095 * situations where objects are not yet attached to parents (e.g., 096 * {@link SBMLDocument}), knowledge of the intented SBML Level and Version help 097 * libSBML determine such things as whether it is valid to assign a 098 * particular value to an attribute. For packages, this means that the 099 * parent object to which this package element is being added must have 100 * been created with the package namespace, or that the package namespace 101 * was added to it, even if that parent is not a package object itself. 102 */ public 103 QualitativeSpecies(long level, long version, long pkgVersion) throws org.sbml.libsbml.SBMLConstructorException { 104 this(libsbmlJNI.new_QualitativeSpecies__SWIG_0(level, version, pkgVersion), true); 105 } 106 107 108/** 109 * Creates a new {@link QualitativeSpecies} with the given level, version, and package version. 110 <p> 111 * @param level a long integer, the SBML Level to assign to this {@link QualitativeSpecies}. 112 <p> 113 * @param version a long integer, the SBML Version to assign to this {@link QualitativeSpecies}. 114 <p> 115 * @param pkgVersion a long integer, the SBML Qual Version to assign to this {@link QualitativeSpecies}. 116 <p> 117 * <p> 118 * @note Attempting to add an object to an {@link SBMLDocument} having a different 119 * combination of SBML Level, Version and XML namespaces than the object 120 * itself will result in an error at the time a caller attempts to make the 121 * addition. A parent object must have compatible Level, Version and XML 122 * namespaces. (Strictly speaking, a parent may also have more XML 123 * namespaces than a child, but the reverse is not permitted.) The 124 * restriction is necessary to ensure that an SBML model has a consistent 125 * overall structure. This requires callers to manage their objects 126 * carefully, but the benefit is increased flexibility in how models can be 127 * created by permitting callers to create objects bottom-up if desired. In 128 * situations where objects are not yet attached to parents (e.g., 129 * {@link SBMLDocument}), knowledge of the intented SBML Level and Version help 130 * libSBML determine such things as whether it is valid to assign a 131 * particular value to an attribute. For packages, this means that the 132 * parent object to which this package element is being added must have 133 * been created with the package namespace, or that the package namespace 134 * was added to it, even if that parent is not a package object itself. 135 */ public 136 QualitativeSpecies(long level, long version) throws org.sbml.libsbml.SBMLConstructorException { 137 this(libsbmlJNI.new_QualitativeSpecies__SWIG_1(level, version), true); 138 } 139 140 141/** 142 * Creates a new {@link QualitativeSpecies} with the given level, version, and package version. 143 <p> 144 * @param level a long integer, the SBML Level to assign to this {@link QualitativeSpecies}. 145 <p> 146 * @param version a long integer, the SBML Version to assign to this {@link QualitativeSpecies}. 147 <p> 148 * @param pkgVersion a long integer, the SBML Qual Version to assign to this {@link QualitativeSpecies}. 149 <p> 150 * <p> 151 * @note Attempting to add an object to an {@link SBMLDocument} having a different 152 * combination of SBML Level, Version and XML namespaces than the object 153 * itself will result in an error at the time a caller attempts to make the 154 * addition. A parent object must have compatible Level, Version and XML 155 * namespaces. (Strictly speaking, a parent may also have more XML 156 * namespaces than a child, but the reverse is not permitted.) The 157 * restriction is necessary to ensure that an SBML model has a consistent 158 * overall structure. This requires callers to manage their objects 159 * carefully, but the benefit is increased flexibility in how models can be 160 * created by permitting callers to create objects bottom-up if desired. In 161 * situations where objects are not yet attached to parents (e.g., 162 * {@link SBMLDocument}), knowledge of the intented SBML Level and Version help 163 * libSBML determine such things as whether it is valid to assign a 164 * particular value to an attribute. For packages, this means that the 165 * parent object to which this package element is being added must have 166 * been created with the package namespace, or that the package namespace 167 * was added to it, even if that parent is not a package object itself. 168 */ public 169 QualitativeSpecies(long level) throws org.sbml.libsbml.SBMLConstructorException { 170 this(libsbmlJNI.new_QualitativeSpecies__SWIG_2(level), true); 171 } 172 173 174/** 175 * Creates a new {@link QualitativeSpecies} with the given level, version, and package version. 176 <p> 177 * @param level a long integer, the SBML Level to assign to this {@link QualitativeSpecies}. 178 <p> 179 * @param version a long integer, the SBML Version to assign to this {@link QualitativeSpecies}. 180 <p> 181 * @param pkgVersion a long integer, the SBML Qual Version to assign to this {@link QualitativeSpecies}. 182 <p> 183 * <p> 184 * @note Attempting to add an object to an {@link SBMLDocument} having a different 185 * combination of SBML Level, Version and XML namespaces than the object 186 * itself will result in an error at the time a caller attempts to make the 187 * addition. A parent object must have compatible Level, Version and XML 188 * namespaces. (Strictly speaking, a parent may also have more XML 189 * namespaces than a child, but the reverse is not permitted.) The 190 * restriction is necessary to ensure that an SBML model has a consistent 191 * overall structure. This requires callers to manage their objects 192 * carefully, but the benefit is increased flexibility in how models can be 193 * created by permitting callers to create objects bottom-up if desired. In 194 * situations where objects are not yet attached to parents (e.g., 195 * {@link SBMLDocument}), knowledge of the intented SBML Level and Version help 196 * libSBML determine such things as whether it is valid to assign a 197 * particular value to an attribute. For packages, this means that the 198 * parent object to which this package element is being added must have 199 * been created with the package namespace, or that the package namespace 200 * was added to it, even if that parent is not a package object itself. 201 */ public 202 QualitativeSpecies() throws org.sbml.libsbml.SBMLConstructorException { 203 this(libsbmlJNI.new_QualitativeSpecies__SWIG_3(), true); 204 } 205 206 207/** 208 * Creates a new {@link QualitativeSpecies} with the given {@link QualPkgNamespaces} object. 209 <p> 210 * <p> 211 * The package namespaces object used in this constructor is derived from a 212 * {@link SBMLNamespaces} object, which encapsulates SBML Level/Version/namespaces 213 * information. It is used to communicate the SBML Level, Version, and 214 * package version and name information used in addition to SBML Level 3 Core. A 215 * common approach to using libSBML's {@link SBMLNamespaces} facilities is to create an 216 * package namespace object somewhere in a program once, then hand that object 217 * as needed to object constructors of that package that accept it as and 218 * argument, such as this one. 219 <p> 220 * @param qualns the {@link QualPkgNamespaces} object. 221 <p> 222 * <p> 223 * @note Attempting to add an object to an {@link SBMLDocument} having a different 224 * combination of SBML Level, Version and XML namespaces than the object 225 * itself will result in an error at the time a caller attempts to make the 226 * addition. A parent object must have compatible Level, Version and XML 227 * namespaces. (Strictly speaking, a parent may also have more XML 228 * namespaces than a child, but the reverse is not permitted.) The 229 * restriction is necessary to ensure that an SBML model has a consistent 230 * overall structure. This requires callers to manage their objects 231 * carefully, but the benefit is increased flexibility in how models can be 232 * created by permitting callers to create objects bottom-up if desired. In 233 * situations where objects are not yet attached to parents (e.g., 234 * {@link SBMLDocument}), knowledge of the intented SBML Level and Version help 235 * libSBML determine such things as whether it is valid to assign a 236 * particular value to an attribute. For packages, this means that the 237 * parent object to which this package element is being added must have 238 * been created with the package namespace, or that the package namespace 239 * was added to it, even if that parent is not a package object itself. 240 */ public 241 QualitativeSpecies(QualPkgNamespaces qualns) throws org.sbml.libsbml.SBMLConstructorException { 242 this(libsbmlJNI.new_QualitativeSpecies__SWIG_4(QualPkgNamespaces.getCPtr(qualns), qualns), true); 243 } 244 245 246/** 247 * Copy constructor for {@link QualitativeSpecies}. 248 <p> 249 * @param orig the {@link QualitativeSpecies} instance to copy. 250 */ public 251 QualitativeSpecies(QualitativeSpecies orig) throws org.sbml.libsbml.SBMLConstructorException { 252 this(libsbmlJNI.new_QualitativeSpecies__SWIG_5(QualitativeSpecies.getCPtr(orig), orig), true); 253 } 254 255 256/** 257 * Creates and returns a deep copy of this {@link QualitativeSpecies} object. 258 <p> 259 * @return a (deep) copy of this {@link QualitativeSpecies} object. 260 */ public 261 QualitativeSpecies cloneObject() { 262 long cPtr = libsbmlJNI.QualitativeSpecies_cloneObject(swigCPtr, this); 263 return (cPtr == 0) ? null : new QualitativeSpecies(cPtr, true); 264 } 265 266 267/** 268 * Returns the value of the 'id' attribute of this {@link QualitativeSpecies}. 269 <p> 270 * @note Because of the inconsistent behavior of this function with 271 * respect to assignments and rules, it is now recommended to 272 * use the getIdAttribute() function instead. 273 <p> 274 * <p> 275 * The identifier given by an object's 'id' attribute value 276 * is used to identify the object within the SBML model definition. 277 * Other objects can refer to the component using this identifier. The 278 * data type of 'id' is always <code>SId</code> or a type derived 279 * from that, such as <code>UnitSId</code>, depending on the object in 280 * question. All data types are defined as follows: 281 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 282 * letter .= 'a'..'z','A'..'Z' 283 * digit .= '0'..'9' 284 * idChar .= letter | digit | '_' 285 * SId .= ( letter | '_' ) idChar* 286 * </pre> 287 <p> 288 * The characters <code>(</code> and <code>)</code> are used for grouping, the 289 * character <code>*</code> 'zero or more times', and the character 290 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers is 291 * determined by an exact character sequence match; i.e., comparisons must be 292 * performed in a case-sensitive manner. This applies to all uses of <code>SId</code>, 293 * <code>SIdRef</code>, and derived types. 294 <p> 295 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 296 * moved to {@link SBase} directly, instead of being defined individually for many 297 * (but not all) objects. Libsbml has for a long time provided functions 298 * defined on {@link SBase} itself to get, set, check, and unset those attributes, which 299 * would fail or otherwise return empty strings if executed on any object 300 * for which those attributes were not defined. Now that all {@link SBase} objects 301 * define those attributes, those functions now succeed for any object with 302 * the appropriate level and version. 303 <p> 304 * The exception to this rule is that for {@link InitialAssignment}, {@link EventAssignment}, 305 * {@link AssignmentRule}, and {@link RateRule} objects, the getId() function and the isSetId() 306 * functions (though not the setId() or unsetId() functions) would instead 307 * reference the value of the 'variable' attribute (for the rules and event 308 * assignments) or the 'symbol' attribute (for initial assignments). 309 * The {@link AlgebraicRule} fell into this category as well, though because it 310 * contained neither a 'variable' nor a 'symbol' attribute, getId() would 311 * always return an empty string, and isSetId() would always return <code>false.</code> 312 * For this reason, four new functions are now provided 313 * (getIdAttribute(), setIdAttribute(String), 314 * isSetIdAttribute(), and unsetIdAttribute()) that will always 315 * act on the actual 'id' attribute, regardless of the object's type. The 316 * new functions should be used instead of the old ones unless the old behavior 317 * is somehow necessary. 318 <p> 319 * Regardless of the level and version of the SBML, these functions allow 320 * client applications to use more generalized code in some situations 321 * (for instance, when manipulating objects that are all known to have 322 * identifiers). If the object in question does not posess an 'id' attribute 323 * according to the SBML specification for the Level and Version in use, 324 * libSBML will not allow the identifier to be set, nor will it read or 325 * write 'id' attributes for those objects. 326 <p> 327 * @return the id of this {@link QualitativeSpecies}. 328 <p> 329 * @see #getIdAttribute() 330 * @see #setIdAttribute(String sid) 331 * @see #isSetIdAttribute() 332 * @see #unsetIdAttribute() 333 */ public 334 String getId() { 335 return libsbmlJNI.QualitativeSpecies_getId(swigCPtr, this); 336 } 337 338 339/** 340 * Returns the value of the 'compartment' attribute of this {@link QualitativeSpecies}. 341 <p> 342 * @return the value of the 'compartment' attribute of this {@link QualitativeSpecies} as a string. 343 */ public 344 String getCompartment() { 345 return libsbmlJNI.QualitativeSpecies_getCompartment(swigCPtr, this); 346 } 347 348 349/** 350 * Returns the value of the 'constant' attribute of this {@link QualitativeSpecies}. 351 <p> 352 * @return the value of the 'constant' attribute of this {@link QualitativeSpecies} as a boolean. 353 */ public 354 boolean getConstant() { 355 return libsbmlJNI.QualitativeSpecies_getConstant(swigCPtr, this); 356 } 357 358 359/** 360 * Returns the value of the 'name' attribute of this {@link QualitativeSpecies} object. 361 <p> 362 * <p> 363 * <p> 364 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 365 * moved to {@link SBase} directly, instead of being defined individually for many 366 * (but not all) objects. Libsbml has for a long time provided functions 367 * defined on {@link SBase} itself to get, set, and unset those attributes, which 368 * would fail or otherwise return empty strings if executed on any object 369 * for which those attributes were not defined. Now that all {@link SBase} objects 370 * define those attributes, those functions now succeed for any object with 371 * the appropriate level and version. 372 <p> 373 * The 'name' attribute is 374 * optional and is not intended to be used for cross-referencing purposes 375 * within a model. Its purpose instead is to provide a human-readable 376 * label for the component. The data type of 'name' is the type 377 * <code>string</code> defined in XML Schema. SBML imposes no 378 * restrictions as to the content of 'name' attributes beyond those 379 * restrictions defined by the <code>string</code> type in XML Schema. 380 <p> 381 * The recommended practice for handling 'name' is as follows. If a 382 * software tool has the capability for displaying the content of 'name' 383 * attributes, it should display this content to the user as a 384 * component's label instead of the component's 'id'. If the user 385 * interface does not have this capability (e.g., because it cannot 386 * display or use special characters in symbol names), or if the 'name' 387 * attribute is missing on a given component, then the user interface 388 * should display the value of the 'id' attribute instead. (Script 389 * language interpreters are especially likely to display 'id' instead of 390 * 'name'.) 391 <p> 392 * As a consequence of the above, authors of systems that automatically 393 * generate the values of 'id' attributes should be aware some systems 394 * may display the 'id''s to the user. Authors therefore may wish to 395 * take some care to have their software create 'id' values that are: (a) 396 * reasonably easy for humans to type and read; and (b) likely to be 397 * meaningful, for example by making the 'id' attribute be an abbreviated 398 * form of the name attribute value. 399 <p> 400 * An additional point worth mentioning is although there are 401 * restrictions on the uniqueness of 'id' values, there are no 402 * restrictions on the uniqueness of 'name' values in a model. This 403 * allows software applications leeway in assigning component identifiers. 404 <p> 405 * Regardless of the level and version of the SBML, these functions allow 406 * client applications to use more generalized code in some situations 407 * (for instance, when manipulating objects that are all known to have 408 * names). If the object in question does not posess a 'name' attribute 409 * according to the SBML specification for the Level and Version in use, 410 * libSBML will not allow the name to be set, nor will it read or 411 * write 'name' attributes for those objects. 412 <p> 413 * @return the name of this SBML object, or the empty string if not set or unsettable. 414 <p> 415 * @see #getIdAttribute() 416 * @see #isSetName() 417 * @see #setName(String sid) 418 * @see #unsetName() 419 */ public 420 String getName() { 421 return libsbmlJNI.QualitativeSpecies_getName(swigCPtr, this); 422 } 423 424 425/** 426 * Returns the value of the 'initialLevel' attribute of this {@link QualitativeSpecies}. 427 <p> 428 * @return the value of the 'initialLevel' attribute of this {@link QualitativeSpecies} as a integer. 429 */ public 430 int getInitialLevel() { 431 return libsbmlJNI.QualitativeSpecies_getInitialLevel(swigCPtr, this); 432 } 433 434 435/** 436 * Returns the value of the 'maxLevel' attribute of this {@link QualitativeSpecies}. 437 <p> 438 * @return the value of the 'maxLevel' attribute of this {@link QualitativeSpecies} as a integer. 439 */ public 440 int getMaxLevel() { 441 return libsbmlJNI.QualitativeSpecies_getMaxLevel(swigCPtr, this); 442 } 443 444 445/** 446 * Predicate returning <code>true</code> or <code>false</code> depending on whether this 447 * {@link QualitativeSpecies}'s 'id' attribute has been set. 448 <p> 449 * <p> 450 * @note Because of the inconsistent behavior of this function with 451 * respect to assignments and rules, it is now recommended to 452 * use the isSetIdAttribute() function instead. 453 <p> 454 * <p> 455 * The identifier given by an object's 'id' attribute value 456 * is used to identify the object within the SBML model definition. 457 * Other objects can refer to the component using this identifier. The 458 * data type of 'id' is always <code>SId</code> or a type derived 459 * from that, such as <code>UnitSId</code>, depending on the object in 460 * question. All data types are defined as follows: 461 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 462 * letter .= 'a'..'z','A'..'Z' 463 * digit .= '0'..'9' 464 * idChar .= letter | digit | '_' 465 * SId .= ( letter | '_' ) idChar* 466 * </pre> 467 <p> 468 * The characters <code>(</code> and <code>)</code> are used for grouping, the 469 * character <code>*</code> 'zero or more times', and the character 470 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers is 471 * determined by an exact character sequence match; i.e., comparisons must be 472 * performed in a case-sensitive manner. This applies to all uses of <code>SId</code>, 473 * <code>SIdRef</code>, and derived types. 474 <p> 475 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 476 * moved to {@link SBase} directly, instead of being defined individually for many 477 * (but not all) objects. Libsbml has for a long time provided functions 478 * defined on {@link SBase} itself to get, set, check, and unset those attributes, which 479 * would fail or otherwise return empty strings if executed on any object 480 * for which those attributes were not defined. Now that all {@link SBase} objects 481 * define those attributes, those functions now succeed for any object with 482 * the appropriate level and version. 483 <p> 484 * The exception to this rule is that for {@link InitialAssignment}, {@link EventAssignment}, 485 * {@link AssignmentRule}, and {@link RateRule} objects, the getId() function and the isSetId() 486 * functions (though not the setId() or unsetId() functions) would instead 487 * reference the value of the 'variable' attribute (for the rules and event 488 * assignments) or the 'symbol' attribute (for initial assignments). 489 * The {@link AlgebraicRule} fell into this category as well, though because it 490 * contained neither a 'variable' nor a 'symbol' attribute, getId() would 491 * always return an empty string, and isSetId() would always return <code>false.</code> 492 * For this reason, four new functions are now provided 493 * (getIdAttribute(), setIdAttribute(String), 494 * isSetIdAttribute(), and unsetIdAttribute()) that will always 495 * act on the actual 'id' attribute, regardless of the object's type. The 496 * new functions should be used instead of the old ones unless the old behavior 497 * is somehow necessary. 498 <p> 499 * Regardless of the level and version of the SBML, these functions allow 500 * client applications to use more generalized code in some situations 501 * (for instance, when manipulating objects that are all known to have 502 * identifiers). If the object in question does not posess an 'id' attribute 503 * according to the SBML specification for the Level and Version in use, 504 * libSBML will not allow the identifier to be set, nor will it read or 505 * write 'id' attributes for those objects. 506 <p> 507 * @return <code>true</code> if the 'id' attribute of this SBML object is 508 * set, <code>false</code> otherwise. 509 <p> 510 * @see #getIdAttribute() 511 * @see #setIdAttribute(String sid) 512 * @see #unsetIdAttribute() 513 * @see #isSetIdAttribute() 514 */ public 515 boolean isSetId() { 516 return libsbmlJNI.QualitativeSpecies_isSetId(swigCPtr, this); 517 } 518 519 520/** 521 * Predicate returning <code>true</code> or <code>false</code> depending on whether this 522 * {@link QualitativeSpecies}'s 'compartment' attribute has been set. 523 <p> 524 * @return <code>true</code> if this {@link QualitativeSpecies}'s 'compartment' attribute has been set, 525 * otherwise <code>false</code> is returned. 526 */ public 527 boolean isSetCompartment() { 528 return libsbmlJNI.QualitativeSpecies_isSetCompartment(swigCPtr, this); 529 } 530 531 532/** 533 * Predicate returning <code>true</code> or <code>false</code> depending on whether this 534 * {@link QualitativeSpecies}'s 'constant' attribute has been set. 535 <p> 536 * @return <code>true</code> if this {@link QualitativeSpecies}'s 'constant' attribute has been set, 537 * otherwise <code>false</code> is returned. 538 */ public 539 boolean isSetConstant() { 540 return libsbmlJNI.QualitativeSpecies_isSetConstant(swigCPtr, this); 541 } 542 543 544/** 545 * Predicate returning <code>true</code> or <code>false</code> depending on whether this 546 * {@link QualitativeSpecies}'s 'name' attribute has been set. 547 <p> 548 * <p> 549 * <p> 550 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 551 * moved to {@link SBase} directly, instead of being defined individually for many 552 * (but not all) objects. Libsbml has for a long time provided functions 553 * defined on {@link SBase} itself to get, set, and unset those attributes, which 554 * would fail or otherwise return empty strings if executed on any object 555 * for which those attributes were not defined. Now that all {@link SBase} objects 556 * define those attributes, those functions now succeed for any object with 557 * the appropriate level and version. 558 <p> 559 * The 'name' attribute is 560 * optional and is not intended to be used for cross-referencing purposes 561 * within a model. Its purpose instead is to provide a human-readable 562 * label for the component. The data type of 'name' is the type 563 * <code>string</code> defined in XML Schema. SBML imposes no 564 * restrictions as to the content of 'name' attributes beyond those 565 * restrictions defined by the <code>string</code> type in XML Schema. 566 <p> 567 * The recommended practice for handling 'name' is as follows. If a 568 * software tool has the capability for displaying the content of 'name' 569 * attributes, it should display this content to the user as a 570 * component's label instead of the component's 'id'. If the user 571 * interface does not have this capability (e.g., because it cannot 572 * display or use special characters in symbol names), or if the 'name' 573 * attribute is missing on a given component, then the user interface 574 * should display the value of the 'id' attribute instead. (Script 575 * language interpreters are especially likely to display 'id' instead of 576 * 'name'.) 577 <p> 578 * As a consequence of the above, authors of systems that automatically 579 * generate the values of 'id' attributes should be aware some systems 580 * may display the 'id''s to the user. Authors therefore may wish to 581 * take some care to have their software create 'id' values that are: (a) 582 * reasonably easy for humans to type and read; and (b) likely to be 583 * meaningful, for example by making the 'id' attribute be an abbreviated 584 * form of the name attribute value. 585 <p> 586 * An additional point worth mentioning is although there are 587 * restrictions on the uniqueness of 'id' values, there are no 588 * restrictions on the uniqueness of 'name' values in a model. This 589 * allows software applications leeway in assigning component identifiers. 590 <p> 591 * Regardless of the level and version of the SBML, these functions allow 592 * client applications to use more generalized code in some situations 593 * (for instance, when manipulating objects that are all known to have 594 * names). If the object in question does not posess a 'name' attribute 595 * according to the SBML specification for the Level and Version in use, 596 * libSBML will not allow the name to be set, nor will it read or 597 * write 'name' attributes for those objects. 598 <p> 599 * @return <code>true</code> if the 'name' attribute of this SBML object is 600 * set, <code>false</code> otherwise. 601 <p> 602 * @see #getName() 603 * @see #setName(String sid) 604 * @see #unsetName() 605 */ public 606 boolean isSetName() { 607 return libsbmlJNI.QualitativeSpecies_isSetName(swigCPtr, this); 608 } 609 610 611/** 612 * Predicate returning <code>true</code> or <code>false</code> depending on whether this 613 * {@link QualitativeSpecies}'s 'initialLevel' attribute has been set. 614 <p> 615 * @return <code>true</code> if this {@link QualitativeSpecies}'s 'initialLevel' attribute has been set, 616 * otherwise <code>false</code> is returned. 617 */ public 618 boolean isSetInitialLevel() { 619 return libsbmlJNI.QualitativeSpecies_isSetInitialLevel(swigCPtr, this); 620 } 621 622 623/** 624 * Predicate returning <code>true</code> or <code>false</code> depending on whether this 625 * {@link QualitativeSpecies}'s 'maxLevel' attribute has been set. 626 <p> 627 * @return <code>true</code> if this {@link QualitativeSpecies}'s 'maxLevel' attribute has been set, 628 * otherwise <code>false</code> is returned. 629 */ public 630 boolean isSetMaxLevel() { 631 return libsbmlJNI.QualitativeSpecies_isSetMaxLevel(swigCPtr, this); 632 } 633 634 635/** 636 * Sets the value of the 'id' attribute of this {@link QualitativeSpecies}. 637 <p> 638 * <p> 639 * The string <code>sid</code> is copied. 640 <p> 641 * <p> 642 * The identifier given by an object's 'id' attribute value 643 * is used to identify the object within the SBML model definition. 644 * Other objects can refer to the component using this identifier. The 645 * data type of 'id' is always <code>SId</code> or a type derived 646 * from that, such as <code>UnitSId</code>, depending on the object in 647 * question. All data types are defined as follows: 648 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 649 * letter .= 'a'..'z','A'..'Z' 650 * digit .= '0'..'9' 651 * idChar .= letter | digit | '_' 652 * SId .= ( letter | '_' ) idChar* 653 * </pre> 654 <p> 655 * The characters <code>(</code> and <code>)</code> are used for grouping, the 656 * character <code>*</code> 'zero or more times', and the character 657 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers is 658 * determined by an exact character sequence match; i.e., comparisons must be 659 * performed in a case-sensitive manner. This applies to all uses of <code>SId</code>, 660 * <code>SIdRef</code>, and derived types. 661 <p> 662 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 663 * moved to {@link SBase} directly, instead of being defined individually for many 664 * (but not all) objects. Libsbml has for a long time provided functions 665 * defined on {@link SBase} itself to get, set, check, and unset those attributes, which 666 * would fail or otherwise return empty strings if executed on any object 667 * for which those attributes were not defined. Now that all {@link SBase} objects 668 * define those attributes, those functions now succeed for any object with 669 * the appropriate level and version. 670 <p> 671 * The exception to this rule is that for {@link InitialAssignment}, {@link EventAssignment}, 672 * {@link AssignmentRule}, and {@link RateRule} objects, the getId() function and the isSetId() 673 * functions (though not the setId() or unsetId() functions) would instead 674 * reference the value of the 'variable' attribute (for the rules and event 675 * assignments) or the 'symbol' attribute (for initial assignments). 676 * The {@link AlgebraicRule} fell into this category as well, though because it 677 * contained neither a 'variable' nor a 'symbol' attribute, getId() would 678 * always return an empty string, and isSetId() would always return <code>false.</code> 679 * For this reason, four new functions are now provided 680 * (getIdAttribute(), setIdAttribute(String), 681 * isSetIdAttribute(), and unsetIdAttribute()) that will always 682 * act on the actual 'id' attribute, regardless of the object's type. The 683 * new functions should be used instead of the old ones unless the old behavior 684 * is somehow necessary. 685 <p> 686 * Regardless of the level and version of the SBML, these functions allow 687 * client applications to use more generalized code in some situations 688 * (for instance, when manipulating objects that are all known to have 689 * identifiers). If the object in question does not posess an 'id' attribute 690 * according to the SBML specification for the Level and Version in use, 691 * libSBML will not allow the identifier to be set, nor will it read or 692 * write 'id' attributes for those objects. 693 <p> 694 * @param sid the string to use as the identifier of this object. 695 <p> 696 * <p> 697 * @return integer value indicating success/failure of the 698 * function. The possible values 699 * returned by this function are: 700 * <ul> 701 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 702 * <li> {@link libsbmlConstants#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE} 703 * <li> {@link libsbmlConstants#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE} 704 * 705 * </ul> <p> 706 * @see #getIdAttribute() 707 * @see #setIdAttribute(String sid) 708 * @see #isSetIdAttribute() 709 * @see #unsetIdAttribute() 710 */ public 711 int setId(String sid) { 712 return libsbmlJNI.QualitativeSpecies_setId(swigCPtr, this, sid); 713 } 714 715 716/** 717 * Sets the value of the 'compartment' attribute of this {@link QualitativeSpecies}. 718 <p> 719 * @param compartment the value of the 'compartment' attribute to be set. 720 <p> 721 * <p> 722 * @return integer value indicating success/failure of the 723 * function. The possible values 724 * returned by this function are: 725 * <ul> 726 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 727 * <li> {@link libsbmlConstants#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE} 728 * </ul> 729 */ public 730 int setCompartment(String compartment) { 731 return libsbmlJNI.QualitativeSpecies_setCompartment(swigCPtr, this, compartment); 732 } 733 734 735/** 736 * Sets the value of the 'constant' attribute of this {@link QualitativeSpecies}. 737 <p> 738 * @param constant boolean value of the 'constant' attribute to be set. 739 <p> 740 * <p> 741 * @return integer value indicating success/failure of the 742 * function. The possible values 743 * returned by this function are: 744 * <ul> 745 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 746 * <li> {@link libsbmlConstants#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE} 747 * </ul> 748 */ public 749 int setConstant(boolean constant) { 750 return libsbmlJNI.QualitativeSpecies_setConstant(swigCPtr, this, constant); 751 } 752 753 754/** 755 * Sets the value of the 'name' attribute of this {@link QualitativeSpecies}. 756 <p> 757 * <p> 758 * The string in <code>name</code> is copied. 759 <p> 760 * @param name the new name for the SBML object. 761 <p> 762 * <p> 763 * @return integer value indicating success/failure of the 764 * function. The possible values 765 * returned by this function are: 766 * <ul> 767 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 768 * <li> {@link libsbmlConstants#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE} 769 * 770 * </ul> 771 */ public 772 int setName(String name) { 773 return libsbmlJNI.QualitativeSpecies_setName(swigCPtr, this, name); 774 } 775 776 777/** 778 * Sets the value of the 'initialLevel' attribute of this {@link QualitativeSpecies}. 779 <p> 780 * @param initialLevel int value of the 'initialLevel' attribute to be set. 781 <p> 782 * <p> 783 * @return integer value indicating success/failure of the 784 * function. The possible values 785 * returned by this function are: 786 * <ul> 787 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 788 * <li> {@link libsbmlConstants#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE} 789 * </ul> 790 */ public 791 int setInitialLevel(int initialLevel) { 792 return libsbmlJNI.QualitativeSpecies_setInitialLevel(swigCPtr, this, initialLevel); 793 } 794 795 796/** 797 * Sets the value of the 'maxLevel' attribute of this {@link QualitativeSpecies}. 798 <p> 799 * @param maxLevel int value of the 'maxLevel' attribute to be set. 800 <p> 801 * <p> 802 * @return integer value indicating success/failure of the 803 * function. The possible values 804 * returned by this function are: 805 * <ul> 806 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 807 * <li> {@link libsbmlConstants#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE} 808 * </ul> 809 */ public 810 int setMaxLevel(int maxLevel) { 811 return libsbmlJNI.QualitativeSpecies_setMaxLevel(swigCPtr, this, maxLevel); 812 } 813 814 815/** 816 * Unsets the value of the 'id' attribute of this {@link QualitativeSpecies}. 817 <p> 818 * <p> 819 * <p> 820 * The identifier given by an object's 'id' attribute value 821 * is used to identify the object within the SBML model definition. 822 * Other objects can refer to the component using this identifier. The 823 * data type of 'id' is always <code>SId</code> or a type derived 824 * from that, such as <code>UnitSId</code>, depending on the object in 825 * question. All data types are defined as follows: 826 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 827 * letter .= 'a'..'z','A'..'Z' 828 * digit .= '0'..'9' 829 * idChar .= letter | digit | '_' 830 * SId .= ( letter | '_' ) idChar* 831 * </pre> 832 <p> 833 * The characters <code>(</code> and <code>)</code> are used for grouping, the 834 * character <code>*</code> 'zero or more times', and the character 835 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers is 836 * determined by an exact character sequence match; i.e., comparisons must be 837 * performed in a case-sensitive manner. This applies to all uses of <code>SId</code>, 838 * <code>SIdRef</code>, and derived types. 839 <p> 840 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 841 * moved to {@link SBase} directly, instead of being defined individually for many 842 * (but not all) objects. Libsbml has for a long time provided functions 843 * defined on {@link SBase} itself to get, set, check, and unset those attributes, which 844 * would fail or otherwise return empty strings if executed on any object 845 * for which those attributes were not defined. Now that all {@link SBase} objects 846 * define those attributes, those functions now succeed for any object with 847 * the appropriate level and version. 848 <p> 849 * The exception to this rule is that for {@link InitialAssignment}, {@link EventAssignment}, 850 * {@link AssignmentRule}, and {@link RateRule} objects, the getId() function and the isSetId() 851 * functions (though not the setId() or unsetId() functions) would instead 852 * reference the value of the 'variable' attribute (for the rules and event 853 * assignments) or the 'symbol' attribute (for initial assignments). 854 * The {@link AlgebraicRule} fell into this category as well, though because it 855 * contained neither a 'variable' nor a 'symbol' attribute, getId() would 856 * always return an empty string, and isSetId() would always return <code>false.</code> 857 * For this reason, four new functions are now provided 858 * (getIdAttribute(), setIdAttribute(String), 859 * isSetIdAttribute(), and unsetIdAttribute()) that will always 860 * act on the actual 'id' attribute, regardless of the object's type. The 861 * new functions should be used instead of the old ones unless the old behavior 862 * is somehow necessary. 863 <p> 864 * Regardless of the level and version of the SBML, these functions allow 865 * client applications to use more generalized code in some situations 866 * (for instance, when manipulating objects that are all known to have 867 * identifiers). If the object in question does not posess an 'id' attribute 868 * according to the SBML specification for the Level and Version in use, 869 * libSBML will not allow the identifier to be set, nor will it read or 870 * write 'id' attributes for those objects. 871 <p> 872 * <p> 873 * @return integer value indicating success/failure of the 874 * function. The possible values 875 * returned by this function are: 876 * <ul> 877 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 878 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED} 879 * 880 * </ul> <p> 881 * @see #getIdAttribute() 882 * @see #setIdAttribute(String sid) 883 * @see #isSetIdAttribute() 884 * @see #unsetIdAttribute() 885 */ public 886 int unsetId() { 887 return libsbmlJNI.QualitativeSpecies_unsetId(swigCPtr, this); 888 } 889 890 891/** 892 * Unsets the value of the 'compartment' attribute of this {@link QualitativeSpecies}. 893 <p> 894 * <p> 895 * @return integer value indicating success/failure of the 896 * function. The possible values 897 * returned by this function are: 898 * <ul> 899 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 900 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED} 901 * </ul> 902 */ public 903 int unsetCompartment() { 904 return libsbmlJNI.QualitativeSpecies_unsetCompartment(swigCPtr, this); 905 } 906 907 908/** 909 * Unsets the value of the 'constant' attribute of this {@link QualitativeSpecies}. 910 <p> 911 * <p> 912 * @return integer value indicating success/failure of the 913 * function. The possible values 914 * returned by this function are: 915 * <ul> 916 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 917 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED} 918 * </ul> 919 */ public 920 int unsetConstant() { 921 return libsbmlJNI.QualitativeSpecies_unsetConstant(swigCPtr, this); 922 } 923 924 925/** 926 * Unsets the value of the 'name' attribute of this {@link QualitativeSpecies}. 927 <p> 928 * <p> 929 * <p> 930 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 931 * moved to {@link SBase} directly, instead of being defined individually for many 932 * (but not all) objects. Libsbml has for a long time provided functions 933 * defined on {@link SBase} itself to get, set, and unset those attributes, which 934 * would fail or otherwise return empty strings if executed on any object 935 * for which those attributes were not defined. Now that all {@link SBase} objects 936 * define those attributes, those functions now succeed for any object with 937 * the appropriate level and version. 938 <p> 939 * The 'name' attribute is 940 * optional and is not intended to be used for cross-referencing purposes 941 * within a model. Its purpose instead is to provide a human-readable 942 * label for the component. The data type of 'name' is the type 943 * <code>string</code> defined in XML Schema. SBML imposes no 944 * restrictions as to the content of 'name' attributes beyond those 945 * restrictions defined by the <code>string</code> type in XML Schema. 946 <p> 947 * The recommended practice for handling 'name' is as follows. If a 948 * software tool has the capability for displaying the content of 'name' 949 * attributes, it should display this content to the user as a 950 * component's label instead of the component's 'id'. If the user 951 * interface does not have this capability (e.g., because it cannot 952 * display or use special characters in symbol names), or if the 'name' 953 * attribute is missing on a given component, then the user interface 954 * should display the value of the 'id' attribute instead. (Script 955 * language interpreters are especially likely to display 'id' instead of 956 * 'name'.) 957 <p> 958 * As a consequence of the above, authors of systems that automatically 959 * generate the values of 'id' attributes should be aware some systems 960 * may display the 'id''s to the user. Authors therefore may wish to 961 * take some care to have their software create 'id' values that are: (a) 962 * reasonably easy for humans to type and read; and (b) likely to be 963 * meaningful, for example by making the 'id' attribute be an abbreviated 964 * form of the name attribute value. 965 <p> 966 * An additional point worth mentioning is although there are 967 * restrictions on the uniqueness of 'id' values, there are no 968 * restrictions on the uniqueness of 'name' values in a model. This 969 * allows software applications leeway in assigning component identifiers. 970 <p> 971 * Regardless of the level and version of the SBML, these functions allow 972 * client applications to use more generalized code in some situations 973 * (for instance, when manipulating objects that are all known to have 974 * names). If the object in question does not posess a 'name' attribute 975 * according to the SBML specification for the Level and Version in use, 976 * libSBML will not allow the name to be set, nor will it read or 977 * write 'name' attributes for those objects. 978 <p> 979 * <p> 980 * @return integer value indicating success/failure of the 981 * function. The possible values 982 * returned by this function are: 983 * <ul> 984 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 985 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED} 986 * 987 * </ul> <p> 988 * @see #getName() 989 * @see #setName(String sid) 990 * @see #isSetName() 991 */ public 992 int unsetName() { 993 return libsbmlJNI.QualitativeSpecies_unsetName(swigCPtr, this); 994 } 995 996 997/** 998 * Unsets the value of the 'initialLevel' attribute of this {@link QualitativeSpecies}. 999 <p> 1000 * <p> 1001 * @return integer value indicating success/failure of the 1002 * function. The possible values 1003 * returned by this function are: 1004 * <ul> 1005 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 1006 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED} 1007 * </ul> 1008 */ public 1009 int unsetInitialLevel() { 1010 return libsbmlJNI.QualitativeSpecies_unsetInitialLevel(swigCPtr, this); 1011 } 1012 1013 1014/** 1015 * Unsets the value of the 'maxLevel' attribute of this {@link QualitativeSpecies}. 1016 <p> 1017 * <p> 1018 * @return integer value indicating success/failure of the 1019 * function. The possible values 1020 * returned by this function are: 1021 * <ul> 1022 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS} 1023 * <li> {@link libsbmlConstants#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED} 1024 * </ul> 1025 */ public 1026 int unsetMaxLevel() { 1027 return libsbmlJNI.QualitativeSpecies_unsetMaxLevel(swigCPtr, this); 1028 } 1029 1030 1031/** 1032 * <p> 1033 * Replaces all uses of a given <code>SIdRef</code> type attribute value with another 1034 * value. 1035 <p> 1036 * <p> 1037 * In SBML, object identifiers are of a data type called <code>SId</code>. 1038 * In SBML Level 3, an explicit data type called <code>SIdRef</code> was 1039 * introduced for attribute values that refer to <code>SId</code> values; in 1040 * previous Levels of SBML, this data type did not exist and attributes were 1041 * simply described to as 'referring to an identifier', but the effective 1042 * data type was the same as <code>SIdRef</code> in Level 3. These and 1043 * other methods of libSBML refer to the type <code>SIdRef</code> for all 1044 * Levels of SBML, even if the corresponding SBML specification did not 1045 * explicitly name the data type. 1046 <p> 1047 * This method works by looking at all attributes and (if appropriate) 1048 * mathematical formulas in MathML content, comparing the referenced 1049 * identifiers to the value of <code>oldid</code>. If any matches are found, the 1050 * matching values are replaced with <code>newid</code>. The method does <em>not</em> 1051 * descend into child elements. 1052 <p> 1053 * @param oldid the old identifier. 1054 * @param newid the new identifier. 1055 */ public 1056 void renameSIdRefs(String oldid, String newid) { 1057 libsbmlJNI.QualitativeSpecies_renameSIdRefs(swigCPtr, this, oldid, newid); 1058 } 1059 1060 1061/** 1062 * Returns the XML name of this object. 1063 <p> 1064 * @return the name of this element. 1065 */ public 1066 String getElementName() { 1067 return libsbmlJNI.QualitativeSpecies_getElementName(swigCPtr, this); 1068 } 1069 1070 1071/** 1072 * Returns the libSBML type code of this object instance. 1073 <p> 1074 * <p> 1075 * LibSBML attaches an identifying code to every kind of SBML object. These 1076 * are integer constants known as <em>SBML type codes</em>. The names of all 1077 * the codes begin with the characters <code>SBML_</code>. 1078 * In the Java language interface for libSBML, the 1079 * type codes are defined as static integer constants in the interface class 1080 * {@link libsbmlConstants}. Note that different Level 3 1081 * package plug-ins may use overlapping type codes; to identify the package 1082 * to which a given object belongs, call the 1083 * <code>{@link SBase#getPackageName()} 1084 * </code> 1085 * method on the object. 1086 <p> 1087 * @return the SBML type code for this object: 1088 * {@link libsbmlConstants#SBML_QUAL_QUALITATIVE_SPECIES SBML_QUAL_QUALITATIVE_SPECIES} 1089 <p> 1090 * <p> 1091 * @warning <span class='warning'>The specific integer values of the possible 1092 * type codes may be reused by different libSBML plug-ins for SBML Level 3. 1093 * packages, To fully identify the correct code, <strong>it is necessary to 1094 * invoke both getTypeCode() and getPackageName()</strong>.</span> 1095 <p> 1096 * @see #getElementName() 1097 * @see #getPackageName() 1098 */ public 1099 int getTypeCode() { 1100 return libsbmlJNI.QualitativeSpecies_getTypeCode(swigCPtr, this); 1101 } 1102 1103 1104/** 1105 * Predicate returning <code>true</code> if all the required attributes 1106 * for this {@link QualitativeSpecies} object have been set. 1107 <p> 1108 * @note The required attributes for a {@link QualitativeSpecies} object are: 1109 * <ul> 1110 * <li> 'id' 1111 * <li> 'compartment' 1112 * <li> 'constant' 1113 * 1114 * </ul> <p> 1115 * @return a boolean value indicating whether all the required 1116 * attributes for this object have been defined. 1117 */ public 1118 boolean hasRequiredAttributes() { 1119 return libsbmlJNI.QualitativeSpecies_hasRequiredAttributes(swigCPtr, this); 1120 } 1121 1122 1123/** * @internal */ public 1124 void enablePackageInternal(String pkgURI, String pkgPrefix, boolean flag) { 1125 libsbmlJNI.QualitativeSpecies_enablePackageInternal(swigCPtr, this, pkgURI, pkgPrefix, flag); 1126 } 1127 1128}