/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 4.0.2
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package org.sbml.libsbml;

public class ASTNodeValues_t {
   private long swigCPtr;
   protected boolean swigCMemOwn;

   protected ASTNodeValues_t(long cPtr, boolean cMemoryOwn)
   {
     swigCMemOwn = cMemoryOwn;
     swigCPtr    = cPtr;
   }

   protected static long getCPtr(ASTNodeValues_t obj)
   {
     return (obj == null) ? 0 : obj.swigCPtr;
   }

   protected static long getCPtrAndDisown (ASTNodeValues_t obj)
   {
     long ptr = 0;

     if (obj != null)
     {
       ptr             = obj.swigCPtr;
       obj.swigCMemOwn = false;
     }

     return ptr;
   }

  @SuppressWarnings("deprecation")
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        libsbmlJNI.delete_ASTNodeValues_t(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public void setName(String value) {
    libsbmlJNI.ASTNodeValues_t_name_set(swigCPtr, this, value);
  }

  public String getName() {
    return libsbmlJNI.ASTNodeValues_t_name_get(swigCPtr, this);
  }

  public void setType(int value) {
    libsbmlJNI.ASTNodeValues_t_type_set(swigCPtr, this, value);
  }

  public int getType() {
    return libsbmlJNI.ASTNodeValues_t_type_get(swigCPtr, this);
  }

  public void setIsFunction(boolean value) {
    libsbmlJNI.ASTNodeValues_t_isFunction_set(swigCPtr, this, value);
  }

  public boolean getIsFunction() {
    return libsbmlJNI.ASTNodeValues_t_isFunction_get(swigCPtr, this);
  }

  public void setCsymbolURL(String value) {
    libsbmlJNI.ASTNodeValues_t_csymbolURL_set(swigCPtr, this, value);
  }

  public String getCsymbolURL() {
    return libsbmlJNI.ASTNodeValues_t_csymbolURL_get(swigCPtr, this);
  }

  public void setAllowedChildrenType(int value) {
    libsbmlJNI.ASTNodeValues_t_allowedChildrenType_set(swigCPtr, this, value);
  }

  public int getAllowedChildrenType() {
    return libsbmlJNI.ASTNodeValues_t_allowedChildrenType_get(swigCPtr, this);
  }

  public void setNumAllowedChildren(SWIGTYPE_p_std__vectorT_unsigned_int_t value) {
    libsbmlJNI.ASTNodeValues_t_numAllowedChildren_set(swigCPtr, this, SWIGTYPE_p_std__vectorT_unsigned_int_t.getCPtr(value));
  }

  public SWIGTYPE_p_std__vectorT_unsigned_int_t getNumAllowedChildren() {
    return new SWIGTYPE_p_std__vectorT_unsigned_int_t(libsbmlJNI.ASTNodeValues_t_numAllowedChildren_get(swigCPtr, this), true);
  }

  public ASTNodeValues_t() {
    this(libsbmlJNI.new_ASTNodeValues_t(), true);
  }

}
