//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//

package model

import "errors"

type Arcgislicensetype string

const (
	Arcgislicensetype_AdvancedUT             Arcgislicensetype = "advancedUT"
	Arcgislicensetype_BasicUT                Arcgislicensetype = "basicUT"
	Arcgislicensetype_CreatorUT              Arcgislicensetype = "creatorUT"
	Arcgislicensetype_EditorUT               Arcgislicensetype = "editorUT"
	Arcgislicensetype_FieldWorkerUT          Arcgislicensetype = "fieldWorkerUT"
	Arcgislicensetype_GisprofessionalAdvUT   Arcgislicensetype = "GISProfessionalAdvUT"
	Arcgislicensetype_GisprofessionalBasicUT Arcgislicensetype = "GISProfessionalBasicUT"
	Arcgislicensetype_GisprofessionalStdUT   Arcgislicensetype = "GISProfessionalStdUT"
	Arcgislicensetype_IndoorsUserUT          Arcgislicensetype = "IndoorsUserUT"
	Arcgislicensetype_InsightsAnalystUT      Arcgislicensetype = "insightsAnalystUT"
	Arcgislicensetype_LiteUT                 Arcgislicensetype = "liteUT"
	Arcgislicensetype_StandardUT             Arcgislicensetype = "standardUT"
	Arcgislicensetype_StorytellerUT          Arcgislicensetype = "storytellerUT"
	Arcgislicensetype_ViewerUT               Arcgislicensetype = "viewerUT"
)

var ArcgislicensetypeAllValues = []Arcgislicensetype{
	Arcgislicensetype_AdvancedUT,
	Arcgislicensetype_BasicUT,
	Arcgislicensetype_CreatorUT,
	Arcgislicensetype_EditorUT,
	Arcgislicensetype_FieldWorkerUT,
	Arcgislicensetype_GisprofessionalAdvUT,
	Arcgislicensetype_GisprofessionalBasicUT,
	Arcgislicensetype_GisprofessionalStdUT,
	Arcgislicensetype_IndoorsUserUT,
	Arcgislicensetype_InsightsAnalystUT,
	Arcgislicensetype_LiteUT,
	Arcgislicensetype_StandardUT,
	Arcgislicensetype_StorytellerUT,
	Arcgislicensetype_ViewerUT,
}

func (e *Arcgislicensetype) Scan(value interface{}) error {
	var enumValue string
	switch val := value.(type) {
	case string:
		enumValue = val
	case []byte:
		enumValue = string(val)
	default:
		return errors.New("jet: Invalid scan value for AllTypesEnum enum. Enum value has to be of type string or []byte")
	}

	switch enumValue {
	case "advancedUT":
		*e = Arcgislicensetype_AdvancedUT
	case "basicUT":
		*e = Arcgislicensetype_BasicUT
	case "creatorUT":
		*e = Arcgislicensetype_CreatorUT
	case "editorUT":
		*e = Arcgislicensetype_EditorUT
	case "fieldWorkerUT":
		*e = Arcgislicensetype_FieldWorkerUT
	case "GISProfessionalAdvUT":
		*e = Arcgislicensetype_GisprofessionalAdvUT
	case "GISProfessionalBasicUT":
		*e = Arcgislicensetype_GisprofessionalBasicUT
	case "GISProfessionalStdUT":
		*e = Arcgislicensetype_GisprofessionalStdUT
	case "IndoorsUserUT":
		*e = Arcgislicensetype_IndoorsUserUT
	case "insightsAnalystUT":
		*e = Arcgislicensetype_InsightsAnalystUT
	case "liteUT":
		*e = Arcgislicensetype_LiteUT
	case "standardUT":
		*e = Arcgislicensetype_StandardUT
	case "storytellerUT":
		*e = Arcgislicensetype_StorytellerUT
	case "viewerUT":
		*e = Arcgislicensetype_ViewerUT
	default:
		return errors.New("jet: Invalid scan value '" + enumValue + "' for Arcgislicensetype enum")
	}

	return nil
}

func (e Arcgislicensetype) String() string {
	return string(e)
}
