001/* ----------------------------------------------------------------------------
002 * This file was automatically generated by SWIG (http://www.swig.org).
003 * Version 2.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
011public class ListOfMembers extends ListOf {
012   private long swigCPtr;
013
014   protected ListOfMembers(long cPtr, boolean cMemoryOwn)
015   {
016     super(libsbmlJNI.ListOfMembers_SWIGUpcast(cPtr), cMemoryOwn);
017     swigCPtr = cPtr;
018   }
019
020   protected static long getCPtr(ListOfMembers obj)
021   {
022     return (obj == null) ? 0 : obj.swigCPtr;
023   }
024
025   protected static long getCPtrAndDisown (ListOfMembers 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_ListOfMembers(swigCPtr);
047      }
048      swigCPtr = 0;
049    }
050    super.delete();
051  }
052
053  
054/**
055   * Creates a new ListOfMembers with the given level, version, and package version.
056   <p>
057   * @param level a long integer, the SBML Level to assign to this ListOfMembers
058   <p>
059   * @param version a long integer, the SBML Version to assign to this ListOfMembers
060   <p>
061   * @param pkgVersion a long integer, the SBML Groups Version to assign to this ListOfMembers
062   */ public
063 ListOfMembers(long level, long version, long pkgVersion) throws org.sbml.libsbml.SBMLConstructorException {
064    this(libsbmlJNI.new_ListOfMembers__SWIG_0(level, version, pkgVersion), true);
065  }
066
067  
068/**
069   * Creates a new ListOfMembers with the given level, version, and package version.
070   <p>
071   * @param level a long integer, the SBML Level to assign to this ListOfMembers
072   <p>
073   * @param version a long integer, the SBML Version to assign to this ListOfMembers
074   <p>
075   * @param pkgVersion a long integer, the SBML Groups Version to assign to this ListOfMembers
076   */ public
077 ListOfMembers(long level, long version) throws org.sbml.libsbml.SBMLConstructorException {
078    this(libsbmlJNI.new_ListOfMembers__SWIG_1(level, version), true);
079  }
080
081  
082/**
083   * Creates a new ListOfMembers with the given level, version, and package version.
084   <p>
085   * @param level a long integer, the SBML Level to assign to this ListOfMembers
086   <p>
087   * @param version a long integer, the SBML Version to assign to this ListOfMembers
088   <p>
089   * @param pkgVersion a long integer, the SBML Groups Version to assign to this ListOfMembers
090   */ public
091 ListOfMembers(long level) throws org.sbml.libsbml.SBMLConstructorException {
092    this(libsbmlJNI.new_ListOfMembers__SWIG_2(level), true);
093  }
094
095  
096/**
097   * Creates a new ListOfMembers with the given level, version, and package version.
098   <p>
099   * @param level a long integer, the SBML Level to assign to this ListOfMembers
100   <p>
101   * @param version a long integer, the SBML Version to assign to this ListOfMembers
102   <p>
103   * @param pkgVersion a long integer, the SBML Groups Version to assign to this ListOfMembers
104   */ public
105 ListOfMembers() throws org.sbml.libsbml.SBMLConstructorException {
106    this(libsbmlJNI.new_ListOfMembers__SWIG_3(), true);
107  }
108
109  
110/**
111   * Creates a new ListOfMembers with the given GroupsPkgNamespaces object.
112   <p>
113   * @param groupsns the GroupsPkgNamespaces object
114   */ public
115 ListOfMembers(GroupsPkgNamespaces groupsns) throws org.sbml.libsbml.SBMLConstructorException {
116    this(libsbmlJNI.new_ListOfMembers__SWIG_4(GroupsPkgNamespaces.getCPtr(groupsns), groupsns), true);
117  }
118
119  
120/**
121   * Creates and returns a deep copy of this ListOfMembers object.
122   <p>
123   * @return a (deep) copy of this ListOfMembers object.
124   */ public
125 ListOfMembers cloneObject() {
126    long cPtr = libsbmlJNI.ListOfMembers_cloneObject(swigCPtr, this);
127    return (cPtr == 0) ? null : new ListOfMembers(cPtr, true);
128  }
129
130  
131/**
132   * Get a Member from the ListOfMembers.
133   <p>
134   * @param n the index number of the Member to get.
135   <p>
136   * @return the nth Member in this ListOfMembers.
137   <p>
138   * @see #size()
139   */ public
140 Member get(long n) {
141    long cPtr = libsbmlJNI.ListOfMembers_get__SWIG_0(swigCPtr, this, n);
142    return (cPtr == 0) ? null : new Member(cPtr, false);
143  }
144
145  
146/**
147   * Get a Member from the ListOfMembers
148   * based on its identifier.
149   <p>
150   * @param sid a string representing the identifier
151   * of the Member to get.
152   <p>
153   * @return Member in this ListOfMembers
154   * with the given id or null if no such
155   * Member exists.
156   <p>
157   * @see #get(long n)   *
158   * @see #size()
159   */ public
160 Member get(String sid) {
161    long cPtr = libsbmlJNI.ListOfMembers_get__SWIG_2(swigCPtr, this, sid);
162    return (cPtr == 0) ? null : new Member(cPtr, false);
163  }
164
165  
166/**
167   * Removes the nth Member from this ListOfMembers
168   * and returns a pointer to it.
169   <p>
170   * The caller owns the returned item and is responsible for deleting it.
171   <p>
172   * @param n the index of the Member to remove.
173   <p>
174   * @see #size()
175   */ public
176 Member remove(long n) {
177    long cPtr = libsbmlJNI.ListOfMembers_remove__SWIG_0(swigCPtr, this, n);
178    return (cPtr == 0) ? null : new Member(cPtr, true);
179  }
180
181  
182/**
183   * Removes the Member from this ListOfMembers with the given identifier
184   * and returns a pointer to it.
185   <p>
186   * The caller owns the returned item and is responsible for deleting it.
187   * If none of the items in this list have the identifier <code>sid</code>, then
188   * <code>null</code> is returned.
189   <p>
190   * @param sid the identifier of the Member to remove.
191   <p>
192   * @return the Member removed. As mentioned above, the caller owns the
193   * returned item.
194   */ public
195 Member remove(String sid) {
196    long cPtr = libsbmlJNI.ListOfMembers_remove__SWIG_1(swigCPtr, this, sid);
197    return (cPtr == 0) ? null : new Member(cPtr, true);
198  }
199
200  
201/**
202   * Returns the XML element name of this object, which for ListOfMembers, is
203   * always <code>'listOfMembers'.</code>
204   <p>
205   * @return the name of this element, i.e. <code>'listOfMembers'.</code>
206   */ public
207 String getElementName() {
208    return libsbmlJNI.ListOfMembers_getElementName(swigCPtr, this);
209  }
210
211  
212/**
213   * Returns the libSBML type code for this SBML object.
214   <p>
215   * LibSBML attaches an identifying code to every
216   * kind of SBML object.  These are known as <em>SBML type codes</em>.  In
217   * other languages, the set of type codes is stored in an enumeration; in
218   * the Java language interface for libSBML, the type codes are defined as
219   * static integer constants in the interface class {@link
220   * libsbmlConstants}.  The names of the type codes all begin with the
221   * characters <code>SBML_.</code> 
222   <p>
223   * @return the SBML type code for this object, or
224   * {@link  libsbmlConstants#SBML_UNKNOWN SBML_UNKNOWN} (default).
225   <p>
226   * @see #getElementName()
227   */ public
228 int getTypeCode() {
229    return libsbmlJNI.ListOfMembers_getTypeCode(swigCPtr, this);
230  }
231
232  
233/**
234   * Returns the libSBML type code for the SBML objects
235   * contained in this {@link ListOf} object
236   <p>
237   * LibSBML attaches an identifying code to every
238   * kind of SBML object.  These are known as <em>SBML type codes</em>.  In
239   * other languages, the set of type codes is stored in an enumeration; in
240   * the Java language interface for libSBML, the type codes are defined as
241   * static integer constants in the interface class {@link
242   * libsbmlConstants}.  The names of the type codes all begin with the
243   * characters <code>SBML_.</code> 
244   <p>
245   * @return the SBML type code for the objects in this {@link ListOf} instance, or
246   * {@link  libsbmlConstants#SBML_UNKNOWN SBML_UNKNOWN} (default).
247   <p>
248   * @see #getElementName()
249   */ public
250 int getItemTypeCode() {
251    return libsbmlJNI.ListOfMembers_getItemTypeCode(swigCPtr, this);
252  }
253
254}