from enum import Enum


class ExtensionValueType(str, Enum):
    ANY_URI = "ANY_URI"
    BASE64BINARY = "BASE64BINARY"
    BOOLEAN = "BOOLEAN"
    BYTE = "BYTE"
    DATE = "DATE"
    DATE_TIME = "DATE_TIME"
    DECIMAL = "DECIMAL"
    DOUBLE = "DOUBLE"
    DURATION = "DURATION"
    FLOAT = "FLOAT"
    GDAY = "GDAY"
    GMONTH = "GMONTH"
    GMONTH_DAY = "GMONTH_DAY"
    GYEAR = "GYEAR"
    GYEAR_MONTH = "GYEAR_MONTH"
    HEX_BINARY = "HEX_BINARY"
    INT = "INT"
    INTEGER = "INTEGER"
    LONG = "LONG"
    NEGATIVE_INTEGER = "NEGATIVE_INTEGER"
    NON_NEGATIVE_INTEGER = "NON_NEGATIVE_INTEGER"
    NON_POSITIVE_INTEGER = "NON_POSITIVE_INTEGER"
    POSITIVE_INTEGER = "POSITIVE_INTEGER"
    SHORT = "SHORT"
    STRING = "STRING"
    TIME = "TIME"
    UNSIGNED_BYTE = "UNSIGNED_BYTE"
    UNSIGNED_INT = "UNSIGNED_INT"
    UNSIGNED_LONG = "UNSIGNED_LONG"
    UNSIGNED_SHORT = "UNSIGNED_SHORT"

    def __str__(self) -> str:
        return str(self.value)
