1 #ifdef USE_QUAL 2 3 /** 4 * Adds DownCastBase(long cPtr, boolean owner) method for the layout package extension 5 */ 6 %typemap(javacode) QualExtension 7 %{ 8 /** 9 * @internal 10 */ DowncastSBasePlugin(long cPtr,boolean owner)11 public SBasePlugin DowncastSBasePlugin(long cPtr, boolean owner) 12 { 13 if (cPtr == 0) return null; 14 15 SBasePlugin sbp = new SBasePlugin(cPtr, false); 16 SBase sb = sbp.getParentSBMLObject(); 17 18 if (sb instanceof Model) 19 { 20 return new QualModelPlugin(cPtr, owner); 21 } 22 23 switch( sb.getTypeCode() ) 24 { 25 case (int) libsbml.SBML_MODEL: 26 return new QualModelPlugin(cPtr,owner); 27 default: 28 return new SBasePlugin(cPtr,owner); 29 } 30 } 31 32 /** 33 * @internal 34 */ DowncastSBase(long cPtr,boolean owner)35 public SBase DowncastSBase(long cPtr, boolean owner) 36 { 37 if (cPtr == 0) return null; 38 39 SBase sb = new SBase(cPtr, false); 40 switch( sb.getTypeCode() ) 41 { 42 case (int) libsbml.SBML_LIST_OF: 43 String name = sb.getElementName(); 44 if(name.equals("listOfFunctionTerms")) 45 { 46 return new ListOfFunctionTerms(cPtr, owner); 47 } 48 else if(name.equals("listOfInputs")) 49 { 50 return new ListOfInputs(cPtr, owner); 51 } 52 else if(name.equals("listOfOutputs")) 53 { 54 return new ListOfOutputs(cPtr, owner); 55 } 56 else if(name.equals("listOfQualitativeSpecies")) 57 { 58 return new ListOfQualitativeSpecies(cPtr, owner); 59 } 60 else if(name.equals("listOfTransitions")) 61 { 62 return new ListOfTransitions(cPtr, owner); 63 } 64 65 return new ListOf(cPtr, owner); 66 67 case (int) libsbml.SBML_QUAL_QUALITATIVE_SPECIES: 68 return new QualitativeSpecies(cPtr, owner); 69 70 case (int) libsbml.SBML_QUAL_TRANSITION: 71 return new Transition(cPtr, owner); 72 73 case (int) libsbml.SBML_QUAL_INPUT: 74 return new Input(cPtr, owner); 75 76 case (int) libsbml.SBML_QUAL_OUTPUT: 77 return new Output(cPtr, owner); 78 79 case (int) libsbml.SBML_QUAL_FUNCTION_TERM: 80 return new FunctionTerm(cPtr, owner); 81 82 case (int) libsbml.SBML_QUAL_DEFAULT_TERM: 83 return new DefaultTerm(cPtr, owner); 84 85 default: 86 return new SBase(cPtr, owner); 87 } 88 } 89 90 %} 91 92 COVARIANT_RTYPE_CLONE(QualExtension) 93 COVARIANT_RTYPE_CLONE(Transition) 94 COVARIANT_RTYPE_CLONE(FunctionTerm) 95 COVARIANT_RTYPE_CLONE(DefaultTerm) 96 COVARIANT_RTYPE_CLONE(QualitativeSpecies) 97 COVARIANT_RTYPE_CLONE(Input) 98 COVARIANT_RTYPE_CLONE(Output) 99 COVARIANT_RTYPE_CLONE(ListOfFunctionTerms) 100 COVARIANT_RTYPE_CLONE(ListOfInputs) 101 COVARIANT_RTYPE_CLONE(ListOfOutputs) 102 COVARIANT_RTYPE_CLONE(ListOfQualitativeSpecies) 103 COVARIANT_RTYPE_CLONE(ListOfTransitions) 104 105 COVARIANT_RTYPE_LISTOF_GET_REMOVE(Transition) 106 COVARIANT_RTYPE_LISTOF_GET_REMOVE(FunctionTerm) 107 COVARIANT_RTYPE_LISTOF_GET_REMOVE(Input) 108 COVARIANT_RTYPE_LISTOF_GET_REMOVE(Output) 109 COVARIANT_RTYPE_LISTOF_GET_REMOVE(QualitativeSpecies) 110 111 SBMLCONSTRUCTOR_EXCEPTION(QualPkgNamespaces) 112 SBMLCONSTRUCTOR_EXCEPTION(Transition) 113 SBMLCONSTRUCTOR_EXCEPTION(FunctionTerm) 114 SBMLCONSTRUCTOR_EXCEPTION(DefaultTerm) 115 SBMLCONSTRUCTOR_EXCEPTION(QualitativeSpecies) 116 SBMLCONSTRUCTOR_EXCEPTION(Input) 117 SBMLCONSTRUCTOR_EXCEPTION(Output) 118 SBMLCONSTRUCTOR_EXCEPTION(ListOfFunctionTerms) 119 SBMLCONSTRUCTOR_EXCEPTION(ListOfInputs) 120 SBMLCONSTRUCTOR_EXCEPTION(ListOfOutputs) 121 SBMLCONSTRUCTOR_EXCEPTION(ListOfQualitativeSpecies) 122 SBMLCONSTRUCTOR_EXCEPTION(ListOfTransitions) 123 124 #endif /* USE_QUAL */ 125