<gh_stars>0
# coding: utf-8

from datetime import date, datetime

from typing import List, Dict, Type

from openapi_server.models.base_model_ import Model
from openapi_server.models.extent_spatial import ExtentSpatial
from openapi_server.models.extent_temporal import ExtentTemporal
from openapi_server.models.extent_vertical import ExtentVertical
from openapi_server import util


class Extent(Model):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.
    """

    def __init__(self, spatial: ExtentSpatial=None, temporal: ExtentTemporal=None, vertical: ExtentVertical=None):
        """Extent - a model defined in OpenAPI

        :param spatial: The spatial of this Extent.
        :param temporal: The temporal of this Extent.
        :param vertical: The vertical of this Extent.
        """
        self.openapi_types = {
            'spatial': ExtentSpatial,
            'temporal': ExtentTemporal,
            'vertical': ExtentVertical
        }

        self.attribute_map = {
            'spatial': 'spatial',
            'temporal': 'temporal',
            'vertical': 'vertical'
        }

        self._spatial = spatial
        self._temporal = temporal
        self._vertical = vertical

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

        :param dikt: A dict.
        :return: The extent of this Extent.
        """
        return util.deserialize_model(dikt, cls)

    @property
    def spatial(self):
        """Gets the spatial of this Extent.


        :return: The spatial of this Extent.
        :rtype: ExtentSpatial
        """
        return self._spatial

    @spatial.setter
    def spatial(self, spatial):
        """Sets the spatial of this Extent.


        :param spatial: The spatial of this Extent.
        :type spatial: ExtentSpatial
        """

        self._spatial = spatial

    @property
    def temporal(self):
        """Gets the temporal of this Extent.


        :return: The temporal of this Extent.
        :rtype: ExtentTemporal
        """
        return self._temporal

    @temporal.setter
    def temporal(self, temporal):
        """Sets the temporal of this Extent.


        :param temporal: The temporal of this Extent.
        :type temporal: ExtentTemporal
        """

        self._temporal = temporal

    @property
    def vertical(self):
        """Gets the vertical of this Extent.


        :return: The vertical of this Extent.
        :rtype: ExtentVertical
        """
        return self._vertical

    @vertical.setter
    def vertical(self, vertical):
        """Sets the vertical of this Extent.


        :param vertical: The vertical of this Extent.
        :type vertical: ExtentVertical
        """

        self._vertical = vertical

# coding: utf-8

from datetime import date, datetime

from typing import List, Dict, Type

from openapi_server.models.base_model_ import Model
from openapi_server.models.extent_spatial import ExtentSpatial
from openapi_server.models.extent_temporal import ExtentTemporal
from openapi_server.models.extent_vertical import ExtentVertical
from openapi_server import util


class Extent(Model):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.
    """

    def __init__(self, spatial: ExtentSpatial=None, temporal: ExtentTemporal=None, vertical: ExtentVertical=None):
        """Extent - a model defined in OpenAPI

        :param spatial: The spatial of this Extent.
        :param temporal: The temporal of this Extent.
        :param vertical: The vertical of this Extent.
        """
        self.openapi_types = {
            'spatial': ExtentSpatial,
            'temporal': ExtentTemporal,
            'vertical': ExtentVertical
        }

        self.attribute_map = {
            'spatial': 'spatial',
            'temporal': 'temporal',
            'vertical': 'vertical'
        }

        self._spatial = spatial
        self._temporal = temporal
        self._vertical = vertical

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

        :param dikt: A dict.
        :return: The extent of this Extent.
        """
        return util.deserialize_model(dikt, cls)

    @property
    def spatial(self):
        """Gets the spatial of this Extent.


        :return: The spatial of this Extent.
        :rtype: ExtentSpatial
        """
        return self._spatial

    @spatial.setter
    def spatial(self, spatial):
        """Sets the spatial of this Extent.


        :param spatial: The spatial of this Extent.
        :type spatial: ExtentSpatial
        """

        self._spatial = spatial

    @property
    def temporal(self):
        """Gets the temporal of this Extent.


        :return: The temporal of this Extent.
        :rtype: ExtentTemporal
        """
        return self._temporal

    @temporal.setter
    def temporal(self, temporal):
        """Sets the temporal of this Extent.


        :param temporal: The temporal of this Extent.
        :type temporal: ExtentTemporal
        """

        self._temporal = temporal

    @property
    def vertical(self):
        """Gets the vertical of this Extent.


        :return: The vertical of this Extent.
        :rtype: ExtentVertical
        """
        return self._vertical

    @vertical.setter
    def vertical(self, vertical):
        """Sets the vertical of this Extent.


        :param vertical: The vertical of this Extent.
        :type vertical: ExtentVertical
        """

        self._vertical = vertical
# coding: utf-8 NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).      Do not edit the class manually. Extent - a model defined in OpenAPI          :param spatial: The spatial of this Extent.         :param temporal: The temporal of this Extent.         :param vertical: The vertical of this Extent. Returns the dict as a model          :param dikt: A dict.         :return: The extent of this Extent. Gets the spatial of this Extent.           :return: The spatial of this Extent.         :rtype: ExtentSpatial Sets the spatial of this Extent.           :param spatial: The spatial of this Extent.         :type spatial: ExtentSpatial Gets the temporal of this Extent.           :return: The temporal of this Extent.         :rtype: ExtentTemporal Sets the temporal of this Extent.           :param temporal: The temporal of this Extent.         :type temporal: ExtentTemporal Gets the vertical of this Extent.           :return: The vertical of this Extent.         :rtype: ExtentVertical Sets the vertical of this Extent.           :param vertical: The vertical of this Extent.         :type vertical: ExtentVertical