001/* ----------------------------------------------------------------------------
002 * This file was automatically generated by SWIG (http://www.swig.org).
003 * Version 3.0.8
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
011public class Group extends SBase {
012   private long swigCPtr;
013
014   protected Group(long cPtr, boolean cMemoryOwn)
015   {
016     super(libsbmlJNI.Group_SWIGUpcast(cPtr), cMemoryOwn);
017     swigCPtr = cPtr;
018   }
019
020   protected static long getCPtr(Group obj)
021   {
022     return (obj == null) ? 0 : obj.swigCPtr;
023   }
024
025   protected static long getCPtrAndDisown (Group obj)
026   {
027     long ptr = 0;
028
029     if (obj != null)
030     {
031       ptr             = obj.swigCPtr;
032       obj.swigCMemOwn = false;
033     }
034
035     return ptr;
036   }
037
038  protected void finalize() {
039    delete();
040  }
041
042  public synchronized void delete() {
043    if (swigCPtr != 0) {
044      if (swigCMemOwn) {
045        swigCMemOwn = false;
046        libsbmlJNI.delete_Group(swigCPtr);
047      }
048      swigCPtr = 0;
049    }
050    super.delete();
051  }
052
053  
054/**
055   * Creates a new Group with the given level, version, and package version.
056   <p>
057   * @param level a long integer, the SBML Level to assign to this Group
058   <p>
059   * @param version a long integer, the SBML Version to assign to this Group
060   <p>
061   * @param pkgVersion a long integer, the SBML Groups Version to assign to this Group
062   */ public
063 Group(long level, long version, long pkgVersion) throws org.sbml.libsbml.SBMLConstructorException {
064    this(libsbmlJNI.new_Group__SWIG_0(level, version, pkgVersion), true);
065  }
066
067  
068/**
069   * Creates a new Group with the given level, version, and package version.
070   <p>
071   * @param level a long integer, the SBML Level to assign to this Group
072   <p>
073   * @param version a long integer, the SBML Version to assign to this Group
074   <p>
075   * @param pkgVersion a long integer, the SBML Groups Version to assign to this Group
076   */ public
077 Group(long level, long version) throws org.sbml.libsbml.SBMLConstructorException {
078    this(libsbmlJNI.new_Group__SWIG_1(level, version), true);
079  }
080
081  
082/**
083   * Creates a new Group with the given level, version, and package version.
084   <p>
085   * @param level a long integer, the SBML Level to assign to this Group
086   <p>
087   * @param version a long integer, the SBML Version to assign to this Group
088   <p>
089   * @param pkgVersion a long integer, the SBML Groups Version to assign to this Group
090   */ public
091 Group(long level) throws org.sbml.libsbml.SBMLConstructorException {
092    this(libsbmlJNI.new_Group__SWIG_2(level), true);
093  }
094
095  
096/**
097   * Creates a new Group with the given level, version, and package version.
098   <p>
099   * @param level a long integer, the SBML Level to assign to this Group
100   <p>
101   * @param version a long integer, the SBML Version to assign to this Group
102   <p>
103   * @param pkgVersion a long integer, the SBML Groups Version to assign to this Group
104   */ public
105 Group() throws org.sbml.libsbml.SBMLConstructorException {
106    this(libsbmlJNI.new_Group__SWIG_3(), true);
107  }
108
109  
110/**
111   * Creates a new Group with the given {@link GroupsPkgNamespaces} object.
112   <p>
113   * @param groupsns the {@link GroupsPkgNamespaces} object
114   */ public
115 Group(GroupsPkgNamespaces groupsns) throws org.sbml.libsbml.SBMLConstructorException {
116    this(libsbmlJNI.new_Group__SWIG_4(GroupsPkgNamespaces.getCPtr(groupsns), groupsns), true);
117  }
118
119  
120/**
121   * Copy constructor for Group.
122   <p>
123   * @param orig; the Group instance to copy.
124   */ public
125 Group(Group orig) throws org.sbml.libsbml.SBMLConstructorException {
126    this(libsbmlJNI.new_Group__SWIG_5(Group.getCPtr(orig), orig), true);
127  }
128
129  
130/**
131   * Creates and returns a deep copy of this Group object.
132   <p>
133   * @return a (deep) copy of this Group object.
134   */ public
135 Group cloneObject() {
136    long cPtr = libsbmlJNI.Group_cloneObject(swigCPtr, this);
137    return (cPtr == 0) ? null : new Group(cPtr, true);
138  }
139
140  
141/**
142   * Returns the value of the 'id' attribute of this Group.
143   <p>
144   * @return the value of the 'id' attribute of this Group as a string.
145   */ public
146 String getId() {
147    return libsbmlJNI.Group_getId(swigCPtr, this);
148  }
149
150  
151/**
152   * Predicate returning <code>true</code> or <code>false</code> depending on whether this
153   * Group's 'id' attribute has been set.
154   <p>
155   * @return <code>true</code> if this Group's 'id' attribute has been set,
156   * otherwise <code>false</code> is returned.
157   */ public
158 boolean isSetId() {
159    return libsbmlJNI.Group_isSetId(swigCPtr, this);
160  }
161
162  
163/**
164   * Sets the value of the 'id' attribute of this Group.
165   <p>
166   * @param id; String value of the 'id' attribute to be set
167   <p>
168   * @return integer value indicating success/failure of the
169   * function.   The possible values
170   * returned by this function are:
171   * <ul>
172   * <li> LIBSBML_OPERATION_SUCCESS
173   * <li> LIBSBML_INVALID_ATTRIBUTE_VALUE
174   * </ul>
175   */ public
176 int setId(String id) {
177    return libsbmlJNI.Group_setId(swigCPtr, this, id);
178  }
179
180  
181/**
182   * Unsets the value of the 'id' attribute of this Group.
183   <p>
184   * @return integer value indicating success/failure of the
185   * function.   The possible values
186   * returned by this function are:
187   * <ul>
188   * <li> LIBSBML_OPERATION_SUCCESS
189   * <li> LIBSBML_OPERATION_FAILED
190   * </ul>
191   */ public
192 int unsetId() {
193    return libsbmlJNI.Group_unsetId(swigCPtr, this);
194  }
195
196  
197/**
198   * Returns the value of the 'name' attribute of this Group.
199   <p>
200   * @return the value of the 'name' attribute of this Group as a string.
201   */ public
202 String getName() {
203    return libsbmlJNI.Group_getName(swigCPtr, this);
204  }
205
206  
207/**
208   * Predicate returning <code>true</code> or <code>false</code> depending on whether this
209   * Group's 'name' attribute has been set.
210   <p>
211   * <em>Some words of explanation about the</em>
212<code>set</code>/<code>unset</code>/<code>isSet</code> <em>methods</em>:
213The SBML specifications define certain attributes on some classes of
214objects as being optional.  This requires an application to be careful
215about the distinction between two cases when reading a model: (1) a given
216attribute has <em>never</em> been set to a value, and therefore should be
217assumed to have the SBML-defined default value if one exists, and (2) a
218given attribute has been set to a value, but the value happens to be an
219empty string.  The situation can be ambiguous when reading a model from a
220file or data stream and then examining the data objects that libSBML
221constructs as a result.  LibSBML supports these distinctions by providing
222methods to set, unset, and query the status of attributes that are
223optional.  The methods have names of the form <code>set</code><em><span
224class="placeholder">Attribute</span></em><code>(...)</code>,
225<code>unset</code><em><span
226class="placeholder">Attribute</span></em><code>()</code>, and
227<code>isSet</code><em><span
228class="placeholder">Attribute</span></em><code>()</code>, where <em><span
229class="placeholder">Attribute</span></em> is the the name of the optional
230attribute in question.
231
232   <p>
233   * @return <code>true</code> if this Group's 'name' attribute has been set,
234   * otherwise <code>false</code> is returned.
235   */ public
236 boolean isSetName() {
237    return libsbmlJNI.Group_isSetName(swigCPtr, this);
238  }
239
240  
241/**
242   * Sets the value of the 'name' attribute of this Group.
243   <p>
244   * The string in <code>name</code> is copied.
245   <p>
246   * <em>Some words of explanation about the</em>
247<code>set</code>/<code>unset</code>/<code>isSet</code> <em>methods</em>:
248The SBML specifications define certain attributes on some classes of
249objects as being optional.  This requires an application to be careful
250about the distinction between two cases when reading a model: (1) a given
251attribute has <em>never</em> been set to a value, and therefore should be
252assumed to have the SBML-defined default value if one exists, and (2) a
253given attribute has been set to a value, but the value happens to be an
254empty string.  The situation can be ambiguous when reading a model from a
255file or data stream and then examining the data objects that libSBML
256constructs as a result.  LibSBML supports these distinctions by providing
257methods to set, unset, and query the status of attributes that are
258optional.  The methods have names of the form <code>set</code><em><span
259class="placeholder">Attribute</span></em><code>(...)</code>,
260<code>unset</code><em><span
261class="placeholder">Attribute</span></em><code>()</code>, and
262<code>isSet</code><em><span
263class="placeholder">Attribute</span></em><code>()</code>, where <em><span
264class="placeholder">Attribute</span></em> is the the name of the optional
265attribute in question.
266
267   <p>
268   * @param name; String value of the 'name' attribute to be set
269   <p>
270   * @return integer value indicating success/failure of the
271   * function.   The possible values
272   * returned by this function are:
273   * <ul>
274   * <li> LIBSBML_OPERATION_SUCCESS
275   * <li> LIBSBML_INVALID_ATTRIBUTE_VALUE
276   * </ul>
277   */ public
278 int setName(String name) {
279    return libsbmlJNI.Group_setName(swigCPtr, this, name);
280  }
281
282  
283/**
284   * Unsets the value of the 'name' attribute of this Group.
285   <p>
286   * <em>Some words of explanation about the</em>
287<code>set</code>/<code>unset</code>/<code>isSet</code> <em>methods</em>:
288The SBML specifications define certain attributes on some classes of
289objects as being optional.  This requires an application to be careful
290about the distinction between two cases when reading a model: (1) a given
291attribute has <em>never</em> been set to a value, and therefore should be
292assumed to have the SBML-defined default value if one exists, and (2) a
293given attribute has been set to a value, but the value happens to be an
294empty string.  The situation can be ambiguous when reading a model from a
295file or data stream and then examining the data objects that libSBML
296constructs as a result.  LibSBML supports these distinctions by providing
297methods to set, unset, and query the status of attributes that are
298optional.  The methods have names of the form <code>set</code><em><span
299class="placeholder">Attribute</span></em><code>(...)</code>,
300<code>unset</code><em><span
301class="placeholder">Attribute</span></em><code>()</code>, and
302<code>isSet</code><em><span
303class="placeholder">Attribute</span></em><code>()</code>, where <em><span
304class="placeholder">Attribute</span></em> is the the name of the optional
305attribute in question.
306
307   <p>
308   * @return integer value indicating success/failure of the
309   * function.   The possible values
310   * returned by this function are:
311   * <ul>
312   * <li> LIBSBML_OPERATION_SUCCESS
313   * <li> LIBSBML_OPERATION_FAILED
314   * </ul>
315   */ public
316 int unsetName() {
317    return libsbmlJNI.Group_unsetName(swigCPtr, this);
318  }
319
320  
321/**
322   * Returns the value of the 'kind' attribute of this Group.
323   <p>
324   * @return the kind of this Group.
325   */ public
326 int getKind() {
327    return libsbmlJNI.Group_getKind(swigCPtr, this);
328  }
329
330  
331/**
332   * Predicate returning <code>true</code> or <code>false</code> depending on whether this
333   * Group's 'kind' attribute has been set.
334   <p>
335   * <em>Some words of explanation about the</em>
336<code>set</code>/<code>unset</code>/<code>isSet</code> <em>methods</em>:
337The SBML specifications define certain attributes on some classes of
338objects as being optional.  This requires an application to be careful
339about the distinction between two cases when reading a model: (1) a given
340attribute has <em>never</em> been set to a value, and therefore should be
341assumed to have the SBML-defined default value if one exists, and (2) a
342given attribute has been set to a value, but the value happens to be an
343empty string.  The situation can be ambiguous when reading a model from a
344file or data stream and then examining the data objects that libSBML
345constructs as a result.  LibSBML supports these distinctions by providing
346methods to set, unset, and query the status of attributes that are
347optional.  The methods have names of the form <code>set</code><em><span
348class="placeholder">Attribute</span></em><code>(...)</code>,
349<code>unset</code><em><span
350class="placeholder">Attribute</span></em><code>()</code>, and
351<code>isSet</code><em><span
352class="placeholder">Attribute</span></em><code>()</code>, where <em><span
353class="placeholder">Attribute</span></em> is the the name of the optional
354attribute in question.
355
356   <p>
357   * @return <code>true</code> if this Group's 'kind' attribute has been set,
358   * otherwise <code>false</code> is returned.
359   */ public
360 boolean isSetKind() {
361    return libsbmlJNI.Group_isSetKind(swigCPtr, this);
362  }
363
364  
365/**
366   * Sets the value of the 'kind' attribute of this Group.
367   <p>
368   * The string in <code>kind</code> is copied.
369   <p>
370   * <em>Some words of explanation about the</em>
371<code>set</code>/<code>unset</code>/<code>isSet</code> <em>methods</em>:
372The SBML specifications define certain attributes on some classes of
373objects as being optional.  This requires an application to be careful
374about the distinction between two cases when reading a model: (1) a given
375attribute has <em>never</em> been set to a value, and therefore should be
376assumed to have the SBML-defined default value if one exists, and (2) a
377given attribute has been set to a value, but the value happens to be an
378empty string.  The situation can be ambiguous when reading a model from a
379file or data stream and then examining the data objects that libSBML
380constructs as a result.  LibSBML supports these distinctions by providing
381methods to set, unset, and query the status of attributes that are
382optional.  The methods have names of the form <code>set</code><em><span
383class="placeholder">Attribute</span></em><code>(...)</code>,
384<code>unset</code><em><span
385class="placeholder">Attribute</span></em><code>()</code>, and
386<code>isSet</code><em><span
387class="placeholder">Attribute</span></em><code>()</code>, where <em><span
388class="placeholder">Attribute</span></em> is the the name of the optional
389attribute in question.
390
391   <p>
392   * @param kind the new kind for the Group
393   <p>
394   * @return integer value indicating success/failure of the
395   * function.   The possible values
396   * returned by this function are:
397   * <ul>
398   * <li> LIBSBML_OPERATION_SUCCESS
399   * <li> LIBSBML_INVALID_ATTRIBUTE_VALUE
400   * </ul>
401   */ public
402 int setKind(int kind) {
403    return libsbmlJNI.Group_setKind(swigCPtr, this, kind);
404  }
405
406  
407/**
408   * Unsets the value of the 'kind' attribute of this Group.
409   <p>
410   * @return integer value indicating success/failure of the
411   * function.   The possible values
412   * returned by this function are:
413   * <ul>
414   * <li> LIBSBML_OPERATION_SUCCESS
415   * <li> LIBSBML_OPERATION_FAILED
416   * </ul>
417   */ public
418 int unsetKind() {
419    return libsbmlJNI.Group_unsetKind(swigCPtr, this);
420  }
421
422  
423/**
424   * Returns the {@link ListOf} object that holds all members.
425   <p>
426   * @return the {@link ListOf} object that holds all members.
427   */ public
428 ListOfMembers getListOfMembers() {
429    long cPtr = libsbmlJNI.Group_getListOfMembers(swigCPtr, this);
430    return (cPtr == 0) ? null : new ListOfMembers(cPtr, false);
431  }
432
433  
434/**
435   * Returns the member with the given index.
436   * If the index is invalid, null is returned.
437   <p>
438   * @param n the index number of the Member to get.
439   <p>
440   * @return the nth Member in the ListOfMembers.
441   */ public
442 Member getMember(long n) {
443    long cPtr = libsbmlJNI.Group_getMember__SWIG_0(swigCPtr, this, n);
444    return (cPtr == 0) ? null : new Member(cPtr, false);
445  }
446
447  
448/**
449   * Returns the member with the given symbol.
450   * If the index is invalid, null is returned.
451   <p>
452   * @param symbol a string representing the symbol attribute
453   * of the Member to get.
454   <p>
455   * @return Member in the ListOfMembers with the given symbol
456   * or null if no such Member exists.
457   */ public
458 Member getMember(String symbol) {
459    long cPtr = libsbmlJNI.Group_getMember__SWIG_2(swigCPtr, this, symbol);
460    return (cPtr == 0) ? null : new Member(cPtr, false);
461  }
462
463  
464/**
465   * Adds a copy of the given Member objcect to the list of members.
466   <p>
467   * @param member the Member object to be added to the list of 
468   * members.
469   <p>
470   * @return integer value indicating success/failure of the
471   * function.   The possible values
472   * returned by this function are:
473   * <ul>
474   * <li> LIBSBML_OPERATION_SUCCESS
475   * </ul>
476   */ public
477 int addMember(Member member) {
478    return libsbmlJNI.Group_addMember(swigCPtr, this, Member.getCPtr(member), member);
479  }
480
481  
482/**
483   * Returns the number of members for this group.
484   <p>
485   * @return the number of members for this group.
486   */ public
487 long getNumMembers() {
488    return libsbmlJNI.Group_getNumMembers(swigCPtr, this);
489  }
490
491  
492/**
493   * Creates a Member object, adds it to the end of the
494   * member objects list and returns a pointer to the newly
495   * created object.
496   <p>
497   * @return a newly created Member object
498   */ public
499 Member createMember() {
500    long cPtr = libsbmlJNI.Group_createMember(swigCPtr, this);
501    return (cPtr == 0) ? null : new Member(cPtr, false);
502  }
503
504  
505/**
506   * Removes the member with the given index from the group.
507   * A pointer to the member that was removed is returned.
508   * If no member has been removed, null is returned.
509   <p>
510   * @param n the index of the Member object to remove
511   <p>
512   * @return the Member object removed.  As mentioned above, 
513   * the caller owns the returned object. null is returned if 
514   * the given index is out of range.
515   */ public
516 Member removeMember(long index) {
517    long cPtr = libsbmlJNI.Group_removeMember__SWIG_0(swigCPtr, this, index);
518    return (cPtr == 0) ? null : new Member(cPtr, true);
519  }
520
521  
522/**
523   * Removes the member with the given symbol from the group.
524   * A pointer to the member that was removed is returned.
525   * If no member has been removed, null is returned.
526   <p>
527   * @param symbol the symbol attribute of the Member object to remove
528   <p>
529   * @return the Member object removed.  As mentioned above, 
530   * the caller owns the returned object. null is returned if 
531   * the given index is out of range.
532   */ public
533 Member removeMember(String symbol) {
534    long cPtr = libsbmlJNI.Group_removeMember__SWIG_1(swigCPtr, this, symbol);
535    return (cPtr == 0) ? null : new Member(cPtr, true);
536  }
537
538  
539/**
540   * Returns the  'ListOfMemberConstraints' in this Group object.
541   <p>
542   * @return the 'ListOfMemberConstraints' attribute of this Group.
543   */ public
544 ListOfMemberConstraints getListOfMemberConstraints() {
545    long cPtr = libsbmlJNI.Group_getListOfMemberConstraints__SWIG_0(swigCPtr, this);
546    return (cPtr == 0) ? null : new ListOfMemberConstraints(cPtr, false);
547  }
548
549  
550/**
551   * Get a MemberConstraint from the ListOfMemberConstraints.
552   <p>
553   * @param n the index number of the MemberConstraint to get.
554   <p>
555   * @return the nth MemberConstraint in the ListOfMemberConstraints within this Group.
556   <p>
557   * @see #getNumMemberConstraints()
558   */ public
559 MemberConstraint getMemberConstraint(long n) {
560    long cPtr = libsbmlJNI.Group_getMemberConstraint__SWIG_0(swigCPtr, this, n);
561    return (cPtr == 0) ? null : new MemberConstraint(cPtr, false);
562  }
563
564  
565/**
566   * Get a MemberConstraint from the ListOfMemberConstraints
567   * based on its identifier.
568   <p>
569   * @param sid a string representing the identifier
570   * of the MemberConstraint to get.
571   <p>
572   * @return the MemberConstraint in the ListOfMemberConstraints
573   * with the given id or null if no such
574   * MemberConstraint exists.
575   <p>
576   * 
577   * @see #getNumMemberConstraints()
578   <p>
579   * @see #getMemberConstraint(long n)
580   */ public
581 MemberConstraint getMemberConstraint(String sid) {
582    long cPtr = libsbmlJNI.Group_getMemberConstraint__SWIG_2(swigCPtr, this, sid);
583    return (cPtr == 0) ? null : new MemberConstraint(cPtr, false);
584  }
585
586  
587/**
588   * Adds a copy the given 'MemberConstraint' to this Group.
589   <p>
590   * @param mc; the MemberConstraint object to add
591   <p>
592   * @return integer value indicating success/failure of the
593   * function.   The possible values
594   * returned by this function are:
595   * <ul>
596   * <li> LIBSBML_OPERATION_SUCCESS
597   * <li> LIBSBML_INVALID_ATTRIBUTE_VALUE
598   * </ul>
599   */ public
600 int addMemberConstraint(MemberConstraint mc) {
601    return libsbmlJNI.Group_addMemberConstraint(swigCPtr, this, MemberConstraint.getCPtr(mc), mc);
602  }
603
604  
605/**
606   * Get the number of MemberConstraint objects in this Group.
607   <p>
608   * @return the number of MemberConstraint objects in this Group
609   */ public
610 long getNumMemberConstraints() {
611    return libsbmlJNI.Group_getNumMemberConstraints(swigCPtr, this);
612  }
613
614  
615/**
616   * Creates a new MemberConstraint object, adds it to this Groups
617   * ListOfMemberConstraints and returns the MemberConstraint object created. 
618   <p>
619   * @return a new MemberConstraint object instance
620   <p>
621   * @see #addMemberConstraint( MemberConstraint mc)
622   */ public
623 MemberConstraint createMemberConstraint() {
624    long cPtr = libsbmlJNI.Group_createMemberConstraint(swigCPtr, this);
625    return (cPtr == 0) ? null : new MemberConstraint(cPtr, false);
626  }
627
628  
629/**
630   * Removes the nth MemberConstraint from the ListOfMemberConstraints within this Group.
631   * and returns a pointer to it.
632   <p>
633   * The caller owns the returned item and is responsible for deleting it.
634   <p>
635   * @param n the index of the MemberConstraint to remove.
636   <p>
637   * @see #getNumMemberConstraints()
638   */ public
639 MemberConstraint removeMemberConstraint(long n) {
640    long cPtr = libsbmlJNI.Group_removeMemberConstraint__SWIG_0(swigCPtr, this, n);
641    return (cPtr == 0) ? null : new MemberConstraint(cPtr, true);
642  }
643
644  
645/**
646   * Removes the MemberConstraint with the given identifier from the ListOfMemberConstraints within this Group
647   * and returns a pointer to it.
648   <p>
649   * The caller owns the returned item and is responsible for deleting it.
650   * If none of the items in this list have the identifier <code>sid</code>, then
651   * <code>null</code> is returned.
652   <p>
653   * @param sid the identifier of the MemberConstraint to remove.
654   <p>
655   * @return the MemberConstraint removed. As mentioned above, the caller owns the
656   * returned item.
657   */ public
658 MemberConstraint removeMemberConstraint(String sid) {
659    long cPtr = libsbmlJNI.Group_removeMemberConstraint__SWIG_1(swigCPtr, this, sid);
660    return (cPtr == 0) ? null : new MemberConstraint(cPtr, true);
661  }
662
663  
664/**
665   * Subclasses should override this method to return XML element name of
666   * this SBML object.
667   <p>
668   * @return the string of the name of this element.
669   */ public
670 String getElementName() {
671    return libsbmlJNI.Group_getElementName(swigCPtr, this);
672  }
673
674  
675/**
676   * @return the typecode (int) of this SBML object or SBML_UNKNOWN
677   * (default).
678   <p>
679   * @see #getElementName()
680   */ public
681 int getTypeCode() {
682    return libsbmlJNI.Group_getTypeCode(swigCPtr, this);
683  }
684
685  public void connectToChild() {
686    libsbmlJNI.Group_connectToChild(swigCPtr, this);
687  }
688
689  
690/** * @internal */ public
691 void enablePackageInternal(String pkgURI, String pkgPrefix, boolean flag) {
692    libsbmlJNI.Group_enablePackageInternal(swigCPtr, this, pkgURI, pkgPrefix, flag);
693  }
694
695  
696/** * @internal */ public
697 boolean hasRequiredAttributes() {
698    return libsbmlJNI.Group_hasRequiredAttributes(swigCPtr, this);
699  }
700
701  
702/** * @internal */ public
703 boolean hasRequiredElements() {
704    return libsbmlJNI.Group_hasRequiredElements(swigCPtr, this);
705  }
706
707}