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

package org.quantlib;

public final class Frequency {
  public final static Frequency NoFrequency = new Frequency("NoFrequency", -1);
  public final static Frequency Once = new Frequency("Once", 0);
  public final static Frequency Annual = new Frequency("Annual", 1);
  public final static Frequency Semiannual = new Frequency("Semiannual", 2);
  public final static Frequency EveryFourthMonth = new Frequency("EveryFourthMonth", 3);
  public final static Frequency Quarterly = new Frequency("Quarterly", 4);
  public final static Frequency Bimonthly = new Frequency("Bimonthly", 6);
  public final static Frequency Monthly = new Frequency("Monthly", 12);
  public final static Frequency EveryFourthWeek = new Frequency("EveryFourthWeek", 13);
  public final static Frequency Biweekly = new Frequency("Biweekly", 26);
  public final static Frequency Weekly = new Frequency("Weekly", 52);
  public final static Frequency Daily = new Frequency("Daily", 365);
  public final static Frequency OtherFrequency = new Frequency("OtherFrequency", 999);

  public final int swigValue() {
    return swigValue;
  }

  public String toString() {
    return swigName;
  }

  public static Frequency swigToEnum(int swigValue) {
    if (swigValue < swigValues.length && swigValue >= 0 && swigValues[swigValue].swigValue == swigValue)
      return swigValues[swigValue];
    for (int i = 0; i < swigValues.length; i++)
      if (swigValues[i].swigValue == swigValue)
        return swigValues[i];
    throw new IllegalArgumentException("No enum " + Frequency.class + " with value " + swigValue);
  }

  private Frequency(String swigName) {
    this.swigName = swigName;
    this.swigValue = swigNext++;
  }

  private Frequency(String swigName, int swigValue) {
    this.swigName = swigName;
    this.swigValue = swigValue;
    swigNext = swigValue+1;
  }

  private Frequency(String swigName, Frequency swigEnum) {
    this.swigName = swigName;
    this.swigValue = swigEnum.swigValue;
    swigNext = this.swigValue+1;
  }

  private static Frequency[] swigValues = { NoFrequency, Once, Annual, Semiannual, EveryFourthMonth, Quarterly, Bimonthly, Monthly, EveryFourthWeek, Biweekly, Weekly, Daily, OtherFrequency };
  private static int swigNext = 0;
  private final int swigValue;
  private final String swigName;
}

