001/* ---------------------------------------------------------------------------- 002 * This file was automatically generated by SWIG (http://www.swig.org). 003 * Version 3.0.10 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 * Set of configuration option values for a converter. 013 <p> 014 * <p style='color: #777; font-style: italic'> 015This class of objects is defined by libSBML only and has no direct 016equivalent in terms of SBML components. It is a class used in 017the implementation of extra functionality provided by libSBML. 018</p> 019 020 <p> 021 * LibSBML provides a number of converters that can perform transformations 022 * on SBML documents. The properties of SBML converters are communicated 023 * using objects of class {@link ConversionProperties}, and within such objects, 024 * individual options are encapsulated using {@link ConversionOption} objects. The 025 * {@link ConversionProperties} class provides numerous methods for setting and 026 * getting options. 027 <p> 028 * {@link ConversionProperties} objects are also used to determine the target SBML 029 * namespace when an SBML converter's behavior depends on the intended 030 * Level+Version combination of SBML. In addition, it is conceivable that 031 * conversions may be affected by SBML Level 3 packages being used by an 032 * SBML document; consequently, the packages in use are also communicated by 033 * the values of the SBML namespaces set on a {@link ConversionProperties} object. 034 <p> 035 * <p> 036 * <h2>General information about the use of SBML converters</h2> 037 <p> 038 * The use of all the converters follows a similar approach. First, one 039 * creates a {@link ConversionProperties} object and calls 040 * {@link ConversionProperties#addOption(ConversionOption)} 041 * on this object with one argument: a text string that identifies the desired 042 * converter. (The text string is specific to each converter; consult the 043 * documentation for a given converter to find out how it should be enabled.) 044 <p> 045 * Next, for some converters, the caller can optionally set some 046 * converter-specific properties using additional calls to 047 * {@link ConversionProperties#addOption(ConversionOption)}. 048 * Many converters provide the ability to 049 * configure their behavior to some extent; this is realized through the use 050 * of properties that offer different options. The default property values 051 * for each converter can be interrogated using the method 052 * {@link SBMLConverter#getDefaultProperties()} on the converter class in question . 053 <p> 054 * Finally, the caller should invoke the method 055 * {@link SBMLDocument#convert(ConversionProperties)} 056 * with the {@link ConversionProperties} object as an argument. 057 <p> 058 * <h3>Example of invoking an SBML converter</h3> 059 <p> 060 * The following code fragment illustrates an example using 061 * {@link SBMLReactionConverter}, which is invoked using the option string 062 * <code>'replaceReactions':</code> 063 <p> 064<pre class='fragment'> 065{@link ConversionProperties} props = new {@link ConversionProperties}(); 066if (props != null) { 067 props.addOption('replaceReactions'); 068} else { 069 // Deal with error. 070} 071</pre> 072<p> 073 * In the case of {@link SBMLReactionConverter}, there are no options to affect 074 * its behavior, so the next step is simply to invoke the converter on 075 * an {@link SBMLDocument} object. Continuing the example code: 076 <p> 077<pre class='fragment'> 078 // Assume that the variable 'document' has been set to an {@link SBMLDocument} object. 079 status = document.convert(config); 080 if (status != libsbml.LIBSBML_OPERATION_SUCCESS) 081 { 082 // Handle error somehow. 083 System.out.println('Error: conversion failed due to the following:'); 084 document.printErrors(); 085 } 086</pre> 087<p> 088 * Here is an example of using a converter that offers an option. The 089 * following code invokes {@link SBMLStripPackageConverter} to remove the 090 * SBML Level 3 <em>Layout</em> package from a model. It sets the name 091 * of the package to be removed by adding a value for the option named 092 * <code>'package'</code> defined by that converter: 093 <p> 094<pre class='fragment'> 095{@link ConversionProperties} config = new {@link ConversionProperties}(); 096if (config != None) { 097 config.addOption('stripPackage'); 098 config.addOption('package', 'layout'); 099 status = document.convert(config); 100 if (status != LIBSBML_OPERATION_SUCCESS) { 101 // Handle error somehow. 102 System.out.println('Error: unable to strip the {@link Layout} package'); 103 document.printErrors(); 104 } 105} else { 106 // Handle error somehow. 107 System.out.println('Error: unable to create {@link ConversionProperties} object'); 108} 109</pre> 110<p> 111 * <h3>Available SBML converters in libSBML</h3> 112 <p> 113 * LibSBML provides a number of built-in converters; by convention, their 114 * names end in <em>Converter</em>. The following are the built-in converters 115 * provided by libSBML 5.15.2 116: 117 <p> 118 * <p> 119 * <ul> 120 * <li> ArraysFlatteningConverter 121 * <li> {@link CobraToFbcConverter} 122 * <li> {@link CompFlatteningConverter} 123 * <li> {@link FbcToCobraConverter} 124 * <li> {@link FbcV1ToV2Converter} 125 * <li> {@link FbcV2ToV1Converter} 126 * <li> {@link SBMLFunctionDefinitionConverter} 127 * <li> {@link SBMLIdConverter} 128 * <li> {@link SBMLInferUnitsConverter} 129 * <li> {@link SBMLInitialAssignmentConverter} 130 * <li> {@link SBMLLevel1Version1Converter} 131 * <li> {@link SBMLLevelVersionConverter} 132 * <li> {@link SBMLLocalParameterConverter} 133 * <li> SBMLRateOfConverter 134 * <li> {@link SBMLReactionConverter} 135 * <li> {@link SBMLRuleConverter} 136 * <li> {@link SBMLStripPackageConverter} 137 * <li> {@link SBMLUnitsConverter} 138 * 139 * </ul> 140 <p> 141 * @see ConversionOption 142 * @see SBMLNamespaces 143 */ 144 145public class ConversionProperties { 146 private long swigCPtr; 147 protected boolean swigCMemOwn; 148 149 protected ConversionProperties(long cPtr, boolean cMemoryOwn) 150 { 151 swigCMemOwn = cMemoryOwn; 152 swigCPtr = cPtr; 153 } 154 155 protected static long getCPtr(ConversionProperties obj) 156 { 157 return (obj == null) ? 0 : obj.swigCPtr; 158 } 159 160 protected static long getCPtrAndDisown (ConversionProperties obj) 161 { 162 long ptr = 0; 163 164 if (obj != null) 165 { 166 ptr = obj.swigCPtr; 167 obj.swigCMemOwn = false; 168 } 169 170 return ptr; 171 } 172 173 protected void finalize() { 174 delete(); 175 } 176 177 public synchronized void delete() { 178 if (swigCPtr != 0) { 179 if (swigCMemOwn) { 180 swigCMemOwn = false; 181 libsbmlJNI.delete_ConversionProperties(swigCPtr); 182 } 183 swigCPtr = 0; 184 } 185 } 186 187 188/** 189 * Constructor that initializes the conversion properties 190 * with a specific SBML target namespace. 191 <p> 192 * @param targetNS the target namespace to convert to. 193 <p> 194 * 195</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 196The native C++ implementation of this method defines a default argument 197value. In the documentation generated for different libSBML language 198bindings, you may or may not see corresponding arguments in the method 199declarations. For example, in Java and C#, a default argument is handled by 200declaring two separate methods, with one of them having the argument and 201the other one lacking the argument. However, the libSBML documentation will 202be <em>identical</em> for both methods. Consequently, if you are reading 203this and do not see an argument even though one is described, please look 204for descriptions of other variants of this method near where this one 205appears in the documentation. 206</dd></dl> 207 208 */ public 209 ConversionProperties(SBMLNamespaces targetNS) { 210 this(libsbmlJNI.new_ConversionProperties__SWIG_0(SBMLNamespaces.getCPtr(targetNS), targetNS), true); 211 } 212 213 214/** 215 * Constructor that initializes the conversion properties 216 * with a specific SBML target namespace. 217 <p> 218 * @param targetNS the target namespace to convert to. 219 <p> 220 * 221</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 222The native C++ implementation of this method defines a default argument 223value. In the documentation generated for different libSBML language 224bindings, you may or may not see corresponding arguments in the method 225declarations. For example, in Java and C#, a default argument is handled by 226declaring two separate methods, with one of them having the argument and 227the other one lacking the argument. However, the libSBML documentation will 228be <em>identical</em> for both methods. Consequently, if you are reading 229this and do not see an argument even though one is described, please look 230for descriptions of other variants of this method near where this one 231appears in the documentation. 232</dd></dl> 233 234 */ public 235 ConversionProperties() { 236 this(libsbmlJNI.new_ConversionProperties__SWIG_1(), true); 237 } 238 239 240/** 241 * Copy constructor. 242 <p> 243 * @param orig the object to copy. 244 */ public 245 ConversionProperties(ConversionProperties orig) { 246 this(libsbmlJNI.new_ConversionProperties__SWIG_2(ConversionProperties.getCPtr(orig), orig), true); 247 } 248 249 250/** 251 * Creates and returns a deep copy of this {@link ConversionProperties} object. 252 <p> 253 * @return the (deep) copy of this {@link ConversionProperties} object. 254 */ public 255 ConversionProperties cloneObject() { 256 long cPtr = libsbmlJNI.ConversionProperties_cloneObject(swigCPtr, this); 257 return (cPtr == 0) ? null : new ConversionProperties(cPtr, true); 258 } 259 260 261/** 262 * Returns the current target SBML namespace. 263 <p> 264 * @return the SBMLNamepaces object expressing the target namespace. 265 */ public 266 SBMLNamespaces getTargetNamespaces() { 267 return libsbml.DowncastSBMLNamespaces(libsbmlJNI.ConversionProperties_getTargetNamespaces(swigCPtr, this), false); 268} 269 270 271/** 272 * Returns <code>true</code> if the target SBML namespace has been set. 273 <p> 274 * @return <code>true</code> if the target namespace has been set, <code>false</code> 275 * otherwise. 276 */ public 277 boolean hasTargetNamespaces() { 278 return libsbmlJNI.ConversionProperties_hasTargetNamespaces(swigCPtr, this); 279 } 280 281 282/** 283 * Sets the target namespace. 284 <p> 285 * @param targetNS the target namespace to use. 286 */ public 287 void setTargetNamespaces(SBMLNamespaces targetNS) { 288 libsbmlJNI.ConversionProperties_setTargetNamespaces(swigCPtr, this, SBMLNamespaces.getCPtr(targetNS), targetNS); 289 } 290 291 292/** 293 * Returns the description string for a given option in this properties 294 * object. 295 <p> 296 * @param key the key for the option. 297 <p> 298 * @return the description text of the option with the given key. 299 */ public 300 String getDescription(String key) { 301 return libsbmlJNI.ConversionProperties_getDescription(swigCPtr, this, key); 302 } 303 304 305/** 306 * Returns the type of a given option in this properties object. 307 <p> 308 * @param key the key for the option. 309 <p> 310 * @return the type of the option with the given key. 311 */ public 312 int getType(String key) { 313 return libsbmlJNI.ConversionProperties_getType(swigCPtr, this, key); 314 } 315 316 317/** 318 * Returns the {@link ConversionOption} object for a given key. 319 <p> 320 * @param key the key for the option. 321 <p> 322 * @return the option with the given key. 323 */ public 324 ConversionOption getOption(String key) { 325 long cPtr = libsbmlJNI.ConversionProperties_getOption__SWIG_0(swigCPtr, this, key); 326 return (cPtr == 0) ? null : new ConversionOption(cPtr, false); 327 } 328 329 330/** 331 * Returns the {@link ConversionOption} object for the given index. 332 <p> 333 * @param index the index for the option. 334 <p> 335 * @return the option with the given index. 336 */ public 337 ConversionOption getOption(int index) { 338 long cPtr = libsbmlJNI.ConversionProperties_getOption__SWIG_1(swigCPtr, this, index); 339 return (cPtr == 0) ? null : new ConversionOption(cPtr, false); 340 } 341 342 343/** 344 * Adds a copy of the given option to this properties object. 345 <p> 346 * @param option the option to add. 347 */ public 348 void addOption(ConversionOption option) { 349 libsbmlJNI.ConversionProperties_addOption__SWIG_0(swigCPtr, this, ConversionOption.getCPtr(option), option); 350 } 351 352 353/** 354 * Adds a new {@link ConversionOption} object with the given parameters. 355 <p> 356 * @param key the key for the new option. 357 * @param value (optional) the value of that option. 358 * @param type (optional) the type of the option (see the documentation 359 * for {@link ConversionOption} for more information about the types). 360 * @param description (optional) the description for the option. 361 <p> 362 * 363</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 364The native C++ implementation of this method defines a default argument 365value. In the documentation generated for different libSBML language 366bindings, you may or may not see corresponding arguments in the method 367declarations. For example, in Java and C#, a default argument is handled by 368declaring two separate methods, with one of them having the argument and 369the other one lacking the argument. However, the libSBML documentation will 370be <em>identical</em> for both methods. Consequently, if you are reading 371this and do not see an argument even though one is described, please look 372for descriptions of other variants of this method near where this one 373appears in the documentation. 374</dd></dl> 375 376 */ public 377 void addOption(String key, String value, int type, String description) { 378 libsbmlJNI.ConversionProperties_addOption__SWIG_1(swigCPtr, this, key, value, type, description); 379 } 380 381 382/** 383 * Adds a new {@link ConversionOption} object with the given parameters. 384 <p> 385 * @param key the key for the new option. 386 * @param value (optional) the value of that option. 387 * @param type (optional) the type of the option (see the documentation 388 * for {@link ConversionOption} for more information about the types). 389 * @param description (optional) the description for the option. 390 <p> 391 * 392</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 393The native C++ implementation of this method defines a default argument 394value. In the documentation generated for different libSBML language 395bindings, you may or may not see corresponding arguments in the method 396declarations. For example, in Java and C#, a default argument is handled by 397declaring two separate methods, with one of them having the argument and 398the other one lacking the argument. However, the libSBML documentation will 399be <em>identical</em> for both methods. Consequently, if you are reading 400this and do not see an argument even though one is described, please look 401for descriptions of other variants of this method near where this one 402appears in the documentation. 403</dd></dl> 404 405 */ public 406 void addOption(String key, String value, int type) { 407 libsbmlJNI.ConversionProperties_addOption__SWIG_2(swigCPtr, this, key, value, type); 408 } 409 410 411/** 412 * Adds a new {@link ConversionOption} object with the given parameters. 413 <p> 414 * @param key the key for the new option. 415 * @param value (optional) the value of that option. 416 * @param type (optional) the type of the option (see the documentation 417 * for {@link ConversionOption} for more information about the types). 418 * @param description (optional) the description for the option. 419 <p> 420 * 421</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 422The native C++ implementation of this method defines a default argument 423value. In the documentation generated for different libSBML language 424bindings, you may or may not see corresponding arguments in the method 425declarations. For example, in Java and C#, a default argument is handled by 426declaring two separate methods, with one of them having the argument and 427the other one lacking the argument. However, the libSBML documentation will 428be <em>identical</em> for both methods. Consequently, if you are reading 429this and do not see an argument even though one is described, please look 430for descriptions of other variants of this method near where this one 431appears in the documentation. 432</dd></dl> 433 434 */ public 435 void addOption(String key, String value) { 436 libsbmlJNI.ConversionProperties_addOption__SWIG_3(swigCPtr, this, key, value); 437 } 438 439 440/** 441 * Adds a new {@link ConversionOption} object with the given parameters. 442 <p> 443 * @param key the key for the new option. 444 * @param value (optional) the value of that option. 445 * @param type (optional) the type of the option (see the documentation 446 * for {@link ConversionOption} for more information about the types). 447 * @param description (optional) the description for the option. 448 <p> 449 * 450</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 451The native C++ implementation of this method defines a default argument 452value. In the documentation generated for different libSBML language 453bindings, you may or may not see corresponding arguments in the method 454declarations. For example, in Java and C#, a default argument is handled by 455declaring two separate methods, with one of them having the argument and 456the other one lacking the argument. However, the libSBML documentation will 457be <em>identical</em> for both methods. Consequently, if you are reading 458this and do not see an argument even though one is described, please look 459for descriptions of other variants of this method near where this one 460appears in the documentation. 461</dd></dl> 462 463 */ public 464 void addOption(String key) { 465 libsbmlJNI.ConversionProperties_addOption__SWIG_4(swigCPtr, this, key); 466 } 467 468 469/** 470 * Adds a new {@link ConversionOption} object with the given parameters. 471 <p> 472 * @param key the key for the new option. 473 * @param value the string value of that option. 474 * @param description (optional) the description for the option. 475 <p> 476 * 477</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 478The native C++ implementation of this method defines a default argument 479value. In the documentation generated for different libSBML language 480bindings, you may or may not see corresponding arguments in the method 481declarations. For example, in Java and C#, a default argument is handled by 482declaring two separate methods, with one of them having the argument and 483the other one lacking the argument. However, the libSBML documentation will 484be <em>identical</em> for both methods. Consequently, if you are reading 485this and do not see an argument even though one is described, please look 486for descriptions of other variants of this method near where this one 487appears in the documentation. 488</dd></dl> 489 490 */ public 491 void addOption(String key, String value, String description) { 492 libsbmlJNI.ConversionProperties_addOption__SWIG_5(swigCPtr, this, key, value, description); 493 } 494 495 496/** 497 * Adds a new {@link ConversionOption} object with the given parameters. 498 <p> 499 * @param key the key for the new option. 500 * @param value the boolean value of that option. 501 * @param description (optional) the description for the option. 502 <p> 503 * 504</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 505The native C++ implementation of this method defines a default argument 506value. In the documentation generated for different libSBML language 507bindings, you may or may not see corresponding arguments in the method 508declarations. For example, in Java and C#, a default argument is handled by 509declaring two separate methods, with one of them having the argument and 510the other one lacking the argument. However, the libSBML documentation will 511be <em>identical</em> for both methods. Consequently, if you are reading 512this and do not see an argument even though one is described, please look 513for descriptions of other variants of this method near where this one 514appears in the documentation. 515</dd></dl> 516 517 */ public 518 void addOption(String key, boolean value, String description) { 519 libsbmlJNI.ConversionProperties_addOption__SWIG_7(swigCPtr, this, key, value, description); 520 } 521 522 523/** 524 * Adds a new {@link ConversionOption} object with the given parameters. 525 <p> 526 * @param key the key for the new option. 527 * @param value the boolean value of that option. 528 * @param description (optional) the description for the option. 529 <p> 530 * 531</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 532The native C++ implementation of this method defines a default argument 533value. In the documentation generated for different libSBML language 534bindings, you may or may not see corresponding arguments in the method 535declarations. For example, in Java and C#, a default argument is handled by 536declaring two separate methods, with one of them having the argument and 537the other one lacking the argument. However, the libSBML documentation will 538be <em>identical</em> for both methods. Consequently, if you are reading 539this and do not see an argument even though one is described, please look 540for descriptions of other variants of this method near where this one 541appears in the documentation. 542</dd></dl> 543 544 */ public 545 void addOption(String key, boolean value) { 546 libsbmlJNI.ConversionProperties_addOption__SWIG_8(swigCPtr, this, key, value); 547 } 548 549 550/** 551 * Adds a new {@link ConversionOption} object with the given parameters. 552 <p> 553 * @param key the key for the new option. 554 * @param value the double value of that option. 555 * @param description (optional) the description for the option. 556 <p> 557 * 558</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 559The native C++ implementation of this method defines a default argument 560value. In the documentation generated for different libSBML language 561bindings, you may or may not see corresponding arguments in the method 562declarations. For example, in Java and C#, a default argument is handled by 563declaring two separate methods, with one of them having the argument and 564the other one lacking the argument. However, the libSBML documentation will 565be <em>identical</em> for both methods. Consequently, if you are reading 566this and do not see an argument even though one is described, please look 567for descriptions of other variants of this method near where this one 568appears in the documentation. 569</dd></dl> 570 571 */ public 572 void addOption(String key, double value, String description) { 573 libsbmlJNI.ConversionProperties_addOption__SWIG_9(swigCPtr, this, key, value, description); 574 } 575 576 577/** 578 * Adds a new {@link ConversionOption} object with the given parameters. 579 <p> 580 * @param key the key for the new option. 581 * @param value the double value of that option. 582 * @param description (optional) the description for the option. 583 <p> 584 * 585</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 586The native C++ implementation of this method defines a default argument 587value. In the documentation generated for different libSBML language 588bindings, you may or may not see corresponding arguments in the method 589declarations. For example, in Java and C#, a default argument is handled by 590declaring two separate methods, with one of them having the argument and 591the other one lacking the argument. However, the libSBML documentation will 592be <em>identical</em> for both methods. Consequently, if you are reading 593this and do not see an argument even though one is described, please look 594for descriptions of other variants of this method near where this one 595appears in the documentation. 596</dd></dl> 597 598 */ public 599 void addOption(String key, double value) { 600 libsbmlJNI.ConversionProperties_addOption__SWIG_10(swigCPtr, this, key, value); 601 } 602 603 604/** 605 * Adds a new {@link ConversionOption} object with the given parameters. 606 <p> 607 * @param key the key for the new option. 608 * @param value the float value of that option. 609 * @param description (optional) the description for the option. 610 <p> 611 * 612</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 613The native C++ implementation of this method defines a default argument 614value. In the documentation generated for different libSBML language 615bindings, you may or may not see corresponding arguments in the method 616declarations. For example, in Java and C#, a default argument is handled by 617declaring two separate methods, with one of them having the argument and 618the other one lacking the argument. However, the libSBML documentation will 619be <em>identical</em> for both methods. Consequently, if you are reading 620this and do not see an argument even though one is described, please look 621for descriptions of other variants of this method near where this one 622appears in the documentation. 623</dd></dl> 624 625 */ public 626 void addOption(String key, float value, String description) { 627 libsbmlJNI.ConversionProperties_addOption__SWIG_11(swigCPtr, this, key, value, description); 628 } 629 630 631/** 632 * Adds a new {@link ConversionOption} object with the given parameters. 633 <p> 634 * @param key the key for the new option. 635 * @param value the float value of that option. 636 * @param description (optional) the description for the option. 637 <p> 638 * 639</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 640The native C++ implementation of this method defines a default argument 641value. In the documentation generated for different libSBML language 642bindings, you may or may not see corresponding arguments in the method 643declarations. For example, in Java and C#, a default argument is handled by 644declaring two separate methods, with one of them having the argument and 645the other one lacking the argument. However, the libSBML documentation will 646be <em>identical</em> for both methods. Consequently, if you are reading 647this and do not see an argument even though one is described, please look 648for descriptions of other variants of this method near where this one 649appears in the documentation. 650</dd></dl> 651 652 */ public 653 void addOption(String key, float value) { 654 libsbmlJNI.ConversionProperties_addOption__SWIG_12(swigCPtr, this, key, value); 655 } 656 657 658/** 659 * Adds a new {@link ConversionOption} object with the given parameters. 660 <p> 661 * @param key the key for the new option. 662 * @param value the integer value of that option. 663 * @param description (optional) the description for the option. 664 <p> 665 * 666</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 667The native C++ implementation of this method defines a default argument 668value. In the documentation generated for different libSBML language 669bindings, you may or may not see corresponding arguments in the method 670declarations. For example, in Java and C#, a default argument is handled by 671declaring two separate methods, with one of them having the argument and 672the other one lacking the argument. However, the libSBML documentation will 673be <em>identical</em> for both methods. Consequently, if you are reading 674this and do not see an argument even though one is described, please look 675for descriptions of other variants of this method near where this one 676appears in the documentation. 677</dd></dl> 678 679 */ public 680 void addOption(String key, int value, String description) { 681 libsbmlJNI.ConversionProperties_addOption__SWIG_13(swigCPtr, this, key, value, description); 682 } 683 684 685/** 686 * Adds a new {@link ConversionOption} object with the given parameters. 687 <p> 688 * @param key the key for the new option. 689 * @param value the integer value of that option. 690 * @param description (optional) the description for the option. 691 <p> 692 * 693</dl><dl class="docnote"><dt><b>Documentation note:</b></dt><dd> 694The native C++ implementation of this method defines a default argument 695value. In the documentation generated for different libSBML language 696bindings, you may or may not see corresponding arguments in the method 697declarations. For example, in Java and C#, a default argument is handled by 698declaring two separate methods, with one of them having the argument and 699the other one lacking the argument. However, the libSBML documentation will 700be <em>identical</em> for both methods. Consequently, if you are reading 701this and do not see an argument even though one is described, please look 702for descriptions of other variants of this method near where this one 703appears in the documentation. 704</dd></dl> 705 706 */ public 707 void addOption(String key, int value) { 708 libsbmlJNI.ConversionProperties_addOption__SWIG_14(swigCPtr, this, key, value); 709 } 710 711 712/** 713 * Removes the option with the given key from this properties object. 714 <p> 715 * @param key the key for the new option to remove. 716 * @return the removed option. 717 */ public 718 ConversionOption removeOption(String key) { 719 long cPtr = libsbmlJNI.ConversionProperties_removeOption(swigCPtr, this, key); 720 return (cPtr == 0) ? null : new ConversionOption(cPtr, false); 721 } 722 723 724/** 725 * Returns <code>true</code> if this properties object contains an option with 726 * the given key. 727 <p> 728 * @param key the key of the option to find. 729 <p> 730 * @return <code>true</code> if an option with the given <code>key</code> exists in 731 * this properties object, <code>false</code> otherwise. 732 */ public 733 boolean hasOption(String key) { 734 return libsbmlJNI.ConversionProperties_hasOption(swigCPtr, this, key); 735 } 736 737 738/** 739 * Returns the value of the given option as a string. 740 <p> 741 * @param key the key for the option. 742 <p> 743 * @return the string value of the option with the given key. 744 */ public 745 String getValue(String key) { 746 return libsbmlJNI.ConversionProperties_getValue(swigCPtr, this, key); 747 } 748 749 750/** 751 * Sets the value of the given option to a string. 752 <p> 753 * @param key the key for the option. 754 * @param value the new value. 755 */ public 756 void setValue(String key, String value) { 757 libsbmlJNI.ConversionProperties_setValue(swigCPtr, this, key, value); 758 } 759 760 761/** 762 * Returns the value of the given option as a Boolean. 763 <p> 764 * @param key the key for the option. 765 <p> 766 * @return the boolean value of the option with the given key. 767 */ public 768 boolean getBoolValue(String key) { 769 return libsbmlJNI.ConversionProperties_getBoolValue(swigCPtr, this, key); 770 } 771 772 773/** 774 * Sets the value of the given option to a Boolean. 775 <p> 776 * @param key the key for the option. 777 <p> 778 * @param value the new Boolean value. 779 */ public 780 void setBoolValue(String key, boolean value) { 781 libsbmlJNI.ConversionProperties_setBoolValue(swigCPtr, this, key, value); 782 } 783 784 785/** 786 * Returns the value of the given option as a <code>double.</code> 787 <p> 788 * @param key the key for the option. 789 <p> 790 * @return the double value of the option with the given key. 791 */ public 792 double getDoubleValue(String key) { 793 return libsbmlJNI.ConversionProperties_getDoubleValue(swigCPtr, this, key); 794 } 795 796 797/** 798 * Sets the value of the given option to a <code>double.</code> 799 <p> 800 * @param key the key for the option. 801 <p> 802 * @param value the new double value. 803 */ public 804 void setDoubleValue(String key, double value) { 805 libsbmlJNI.ConversionProperties_setDoubleValue(swigCPtr, this, key, value); 806 } 807 808 809/** 810 * Returns the value of the given option as a <code>float.</code> 811 <p> 812 * @param key the key for the option. 813 <p> 814 * @return the float value of the option with the given key. 815 */ public 816 float getFloatValue(String key) { 817 return libsbmlJNI.ConversionProperties_getFloatValue(swigCPtr, this, key); 818 } 819 820 821/** 822 * Sets the value of the given option to a <code>float.</code> 823 <p> 824 * @param key the key for the option. 825 <p> 826 * @param value the new float value. 827 */ public 828 void setFloatValue(String key, float value) { 829 libsbmlJNI.ConversionProperties_setFloatValue(swigCPtr, this, key, value); 830 } 831 832 833/** 834 * Returns the value of the given option as an integer. 835 <p> 836 * @param key the key for the option. 837 <p> 838 * @return the int value of the option with the given key. 839 */ public 840 int getIntValue(String key) { 841 return libsbmlJNI.ConversionProperties_getIntValue(swigCPtr, this, key); 842 } 843 844 845/** 846 * Sets the value of the given option to an integer. 847 <p> 848 * @param key the key for the option. 849 <p> 850 * @param value the new integer value. 851 */ public 852 void setIntValue(String key, int value) { 853 libsbmlJNI.ConversionProperties_setIntValue(swigCPtr, this, key, value); 854 } 855 856 857/** 858 * Returns the number of options in this Conversion Properties object 859 <p> 860 * @return the number of options in this properties object. 861 */ public 862 int getNumOptions() { 863 return libsbmlJNI.ConversionProperties_getNumOptions(swigCPtr, this); 864 } 865 866}