001/* ----------------------------------------------------------------------------
002 * This file was automatically generated by SWIG (http://www.swig.org).
003 * Version 2.0.11
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 ListOfTextGlyphs extends ListOf {
012   private long swigCPtr;
013
014   protected ListOfTextGlyphs(long cPtr, boolean cMemoryOwn)
015   {
016     super(libsbmlJNI.ListOfTextGlyphs_SWIGUpcast(cPtr), cMemoryOwn);
017     swigCPtr = cPtr;
018   }
019
020   protected static long getCPtr(ListOfTextGlyphs obj)
021   {
022     return (obj == null) ? 0 : obj.swigCPtr;
023   }
024
025   protected static long getCPtrAndDisown (ListOfTextGlyphs 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_ListOfTextGlyphs(swigCPtr);
047      }
048      swigCPtr = 0;
049    }
050    super.delete();
051  }
052
053  
054/**
055   * Creates and returns a deep copy of this {@link ListOf}.
056   * <p>
057   * @return a (deep) copy of this {@link ListOf}.
058   */ public
059 ListOfTextGlyphs cloneObject() {
060    long cPtr = libsbmlJNI.ListOfTextGlyphs_cloneObject(swigCPtr, this);
061    return (cPtr == 0) ? null : new ListOfTextGlyphs(cPtr, true);
062  }
063
064  public ListOfTextGlyphs(long level, long version, long pkgVersion) throws org.sbml.libsbml.SBMLConstructorException {
065    this(libsbmlJNI.new_ListOfTextGlyphs__SWIG_0(level, version, pkgVersion), true);
066  }
067
068  public ListOfTextGlyphs(long level, long version) throws org.sbml.libsbml.SBMLConstructorException {
069    this(libsbmlJNI.new_ListOfTextGlyphs__SWIG_1(level, version), true);
070  }
071
072  public ListOfTextGlyphs(long level) throws org.sbml.libsbml.SBMLConstructorException {
073    this(libsbmlJNI.new_ListOfTextGlyphs__SWIG_2(level), true);
074  }
075
076  public ListOfTextGlyphs() throws org.sbml.libsbml.SBMLConstructorException {
077    this(libsbmlJNI.new_ListOfTextGlyphs__SWIG_3(), true);
078  }
079
080  public ListOfTextGlyphs(LayoutPkgNamespaces layoutns) throws org.sbml.libsbml.SBMLConstructorException {
081    this(libsbmlJNI.new_ListOfTextGlyphs__SWIG_4(LayoutPkgNamespaces.getCPtr(layoutns), layoutns), true);
082  }
083
084  
085/**
086   * Get the type code of the objects contained in this {@link ListOf}.
087   * <p>
088   * LibSBML attaches an identifying code to every
089   * kind of SBML object.  These are known as <em>SBML type codes</em>.  In
090   * other languages, the set of type codes is stored in an enumeration; in
091   * the Java language interface for libSBML, the type codes are defined as
092   * static integer constants in the interface class {@link
093   * libsbmlConstants}.  The names of the type codes all begin with the
094   * characters <code>SBML_.</code> 
095   * <p>
096   * @return the SBML type code for the objects contained in this {@link ListOf}
097   * instance, or {@link  libsbmlConstants#SBML_UNKNOWN SBML_UNKNOWN} (default).
098   */ public
099 int getItemTypeCode() {
100    return libsbmlJNI.ListOfTextGlyphs_getItemTypeCode(swigCPtr, this);
101  }
102
103  
104/**
105   * Returns the XML element name of this object, which for {@link ListOf}, is
106   * always <code>'listOf'.</code>
107   * <p>
108   * @return the XML name of this element.
109   */ public
110 String getElementName() {
111    return libsbmlJNI.ListOfTextGlyphs_getElementName(swigCPtr, this);
112  }
113
114  
115/**
116   * Get an item from the list.
117   * <p>
118   * @param n the index number of the item to get.
119   * <p>
120   * @return the nth item in this {@link ListOf} items.
121   * <p>
122   * @see #size()
123   */ public
124 TextGlyph get(long n) {
125    long cPtr = libsbmlJNI.ListOfTextGlyphs_get__SWIG_0(swigCPtr, this, n);
126    return (cPtr == 0) ? null : new TextGlyph(cPtr, false);
127  }
128
129  
130/**
131   * Get an item from the list based on its identifier.
132   * <p>
133   * @param sid a string representing the the identifier of the item to get.
134   * <p>
135   * @return item in this {@link ListOf} items with the given <code>sid</code> or <code>null</code> if no such
136   * item exists.
137   * <p>
138   * @see #get(long n)
139   * @see #size()
140   */ public
141 TextGlyph get(String sid) {
142    long cPtr = libsbmlJNI.ListOfTextGlyphs_get__SWIG_2(swigCPtr, this, sid);
143    return (cPtr == 0) ? null : new TextGlyph(cPtr, false);
144  }
145
146  
147/**
148   * Removes the <em>n</em>th item from this {@link ListOf} items and returns a
149   * pointer to it.
150   * <p>
151   * The caller owns the returned item and is responsible for deleting it.
152   * <p>
153   * @param n the index of the item to remove
154   * <p>
155   * @see #size()
156   */ public
157 TextGlyph remove(long n) {
158    long cPtr = libsbmlJNI.ListOfTextGlyphs_remove__SWIG_0(swigCPtr, this, n);
159    return (cPtr == 0) ? null : new TextGlyph(cPtr, true);
160  }
161
162  
163/**
164   * Removes item in this {@link ListOf} items with the given identifier.
165   * <p>
166   * The caller owns the returned item and is responsible for deleting it.
167   * If none of the items in this list have the identifier <code>sid</code>, then 
168   * <code>null</code> is returned.
169   * <p>
170   * @param sid the identifier of the item to remove
171   * <p>
172   * @return the item removed.  As mentioned above, the caller owns the
173   * returned item.
174   */ public
175 TextGlyph remove(String sid) {
176    long cPtr = libsbmlJNI.ListOfTextGlyphs_remove__SWIG_1(swigCPtr, this, sid);
177    return (cPtr == 0) ? null : new TextGlyph(cPtr, true);
178  }
179
180  public XMLNode toXML() {
181    return new XMLNode(libsbmlJNI.ListOfTextGlyphs_toXML(swigCPtr, this), true);
182  }
183
184}