# coding: utf-8

from __future__ import absolute_import
from .base_model_ import Model
from datetime import date, datetime
from typing import List, Dict
from ..util import deserialize_model


class FrameworkSortOrder(Model):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self, field: str=None, direction: str=None):
        """
        FrameworkSortOrder - a model defined in Swagger

        :param field: The field of this FrameworkSortOrder.
        :type field: str
        :param direction: The direction of this FrameworkSortOrder.
        :type direction: str
        """
        self.swagger_types = {
            'field': str,
            'direction': str
        }

        self.attribute_map = {
            'field': 'field',
            'direction': 'direction'
        }

        self._field = field
        self._direction = direction

    @classmethod
    def from_dict(cls, dikt) -> 'FrameworkSortOrder':
        """
        Returns the dict as a model

        :param dikt: A dict.
        :type: dict
        :return: The framework-sort-order of this FrameworkSortOrder.
        :rtype: FrameworkSortOrder
        """
        return deserialize_model(dikt, cls)

    @property
    def field(self) -> str:
        """
        Gets the field of this FrameworkSortOrder.
        Sorting field.

        :return: The field of this FrameworkSortOrder.
        :rtype: str
        """
        return self._field

    @field.setter
    def field(self, field: str):
        """
        Sets the field of this FrameworkSortOrder.
        Sorting field.

        :param field: The field of this FrameworkSortOrder.
        :type field: str
        """
        if field is None:
            raise ValueError("Invalid value for `field`, must not be `None`")

        self._field = field

    @property
    def direction(self) -> str:
        """
        Gets the direction of this FrameworkSortOrder.
        Sorting direction.

        :return: The direction of this FrameworkSortOrder.
        :rtype: str
        """
        return self._direction

    @direction.setter
    def direction(self, direction: str):
        """
        Sets the direction of this FrameworkSortOrder.
        Sorting direction.

        :param direction: The direction of this FrameworkSortOrder.
        :type direction: str
        """
        if direction is None:
            raise ValueError("Invalid value for `direction`, must not be `None`")

        self._direction = direction

