# 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 ScholixIdentifier(Model):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self, id=None, id_scheme=None, idurl=None):
        """
        ScholixIdentifier - a model defined in Swagger

        :param id: The id of this ScholixIdentifier.
        :type id: str
        :param id_scheme: The id_scheme of this ScholixIdentifier.
        :type id_scheme: str
        :param idurl: The idurl of this ScholixIdentifier.
        :type idurl: str
        """
        self.swagger_types = {
            'id': str,
            'id_scheme': str,
            'idurl': str
        }

        self.attribute_map = {
            'id': 'ID',
            'id_scheme': 'IDScheme',
            'idurl': 'IDURL'
        }

        self._id = id
        self._id_scheme = id_scheme
        self._idurl = idurl

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

        :param dikt: A dict.
        :type: dict
        :return: The Scholix Identifier of this ScholixIdentifier.
        :rtype: ScholixIdentifier
        """
        return deserialize_model(dikt, cls)

    @property
    def id(self):
        """
        Gets the id of this ScholixIdentifier.

        :return: The id of this ScholixIdentifier.
        :rtype: str
        """
        return self._id

    @id.setter
    def id(self, id):
        """
        Sets the id of this ScholixIdentifier.

        :param id: The id of this ScholixIdentifier.
        :type id: str
        """

        self._id = id

    @property
    def id_scheme(self):
        """
        Gets the id_scheme of this ScholixIdentifier.

        :return: The id_scheme of this ScholixIdentifier.
        :rtype: str
        """
        return self._id_scheme

    @id_scheme.setter
    def id_scheme(self, id_scheme):
        """
        Sets the id_scheme of this ScholixIdentifier.

        :param id_scheme: The id_scheme of this ScholixIdentifier.
        :type id_scheme: str
        """

        self._id_scheme = id_scheme

    @property
    def idurl(self):
        """
        Gets the idurl of this ScholixIdentifier.

        :return: The idurl of this ScholixIdentifier.
        :rtype: str
        """
        return self._idurl

    @idurl.setter
    def idurl(self, idurl):
        """
        Sets the idurl of this ScholixIdentifier.

        :param idurl: The idurl of this ScholixIdentifier.
        :type idurl: str
        """

        self._idurl = idurl

