// Code generated by go-swagger; DO NOT EDIT.

package models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"context"
	"encoding/json"

	"github.com/go-openapi/errors"
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/validate"
)

// APISecondChAckOffset  - KHZ_0: 0 kHz.
//   - KHZ_200: 200 kHz.
//   - KHZ_400: 400 kHz.
//   - KHZ_800: 800 kHz.
//   - KHZ_1600: 1600 kHz.
//   - KHZ_3200: 3200 kHz.
//
// swagger:model apiSecondChAckOffset
type APISecondChAckOffset string

func NewAPISecondChAckOffset(value APISecondChAckOffset) *APISecondChAckOffset {
	return &value
}

// Pointer returns a pointer to a freshly-allocated APISecondChAckOffset.
func (m APISecondChAckOffset) Pointer() *APISecondChAckOffset {
	return &m
}

const (

	// APISecondChAckOffsetKHZ0 captures enum value "KHZ_0"
	APISecondChAckOffsetKHZ0 APISecondChAckOffset = "KHZ_0"

	// APISecondChAckOffsetKHZ200 captures enum value "KHZ_200"
	APISecondChAckOffsetKHZ200 APISecondChAckOffset = "KHZ_200"

	// APISecondChAckOffsetKHZ400 captures enum value "KHZ_400"
	APISecondChAckOffsetKHZ400 APISecondChAckOffset = "KHZ_400"

	// APISecondChAckOffsetKHZ800 captures enum value "KHZ_800"
	APISecondChAckOffsetKHZ800 APISecondChAckOffset = "KHZ_800"

	// APISecondChAckOffsetKHZ1600 captures enum value "KHZ_1600"
	APISecondChAckOffsetKHZ1600 APISecondChAckOffset = "KHZ_1600"

	// APISecondChAckOffsetKHZ3200 captures enum value "KHZ_3200"
	APISecondChAckOffsetKHZ3200 APISecondChAckOffset = "KHZ_3200"
)

// for schema
var apiSecondChAckOffsetEnum []interface{}

func init() {
	var res []APISecondChAckOffset
	if err := json.Unmarshal([]byte(`["KHZ_0","KHZ_200","KHZ_400","KHZ_800","KHZ_1600","KHZ_3200"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		apiSecondChAckOffsetEnum = append(apiSecondChAckOffsetEnum, v)
	}
}

func (m APISecondChAckOffset) validateAPISecondChAckOffsetEnum(path, location string, value APISecondChAckOffset) error {
	if err := validate.EnumCase(path, location, value, apiSecondChAckOffsetEnum, true); err != nil {
		return err
	}
	return nil
}

// Validate validates this api second ch ack offset
func (m APISecondChAckOffset) Validate(formats strfmt.Registry) error {
	var res []error

	// value enum
	if err := m.validateAPISecondChAckOffsetEnum("", "body", m); err != nil {
		return err
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

// ContextValidate validates this api second ch ack offset based on context it is used
func (m APISecondChAckOffset) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
	return nil
}
