# coding: utf-8

"""
    NVDB API LES V3

    API for å lese vegobjekter, vegnett og transaksjoner fra NVDB  # noqa: E501

    OpenAPI spec version: 0.0.1
    Contact: nvdb@vegvesen.no
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class VegobjektTypeEgenskapBase(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'id': 'int',
        'kategori': 'int',
        'navn': 'str',
        'kortnavn': 'str',
        'beskrivelse': 'str',
        'egenskapstype': 'Egenskapstype',
        'datatype': 'Datatype',
        'sosinvdbnavn': 'str',
        'sosinavn': 'str',
        'sorteringsnummer': 'int',
        'sensitivitet': 'int',
        'viktighet': 'str',
        'ledetekst': 'str',
        'skrivebeskyttet': 'bool',
        'komplementr_egenskapstype': 'int',
        'grunnrissreferanse': 'str',
        'nyaktighetskrav_grunnriss': 'float',
        'hydereferanse': 'str',
        'hydereferanse_tall': 'int',
        'nyaktighetskrav_hyde': 'float',
        'referansegeometri_tilstrekkelig': 'bool',
        'sosi_referanse': 'str',
        'avledet': 'bool',
        'obligatorisk_verdi': 'bool',
        'gruppesorteringsnummer': 'int',
        'tilleggskrav': 'list[str]'
    }

    attribute_map = {
        'id': 'id',
        'kategori': 'kategori',
        'navn': 'navn',
        'kortnavn': 'kortnavn',
        'beskrivelse': 'beskrivelse',
        'egenskapstype': 'egenskapstype',
        'datatype': 'datatype',
        'sosinvdbnavn': 'sosinvdbnavn',
        'sosinavn': 'sosinavn',
        'sorteringsnummer': 'sorteringsnummer',
        'sensitivitet': 'sensitivitet',
        'viktighet': 'viktighet',
        'ledetekst': 'ledetekst',
        'skrivebeskyttet': 'skrivebeskyttet',
        'komplementr_egenskapstype': 'komplementær_egenskapstype',
        'grunnrissreferanse': 'grunnrissreferanse',
        'nyaktighetskrav_grunnriss': 'nøyaktighetskrav_grunnriss',
        'hydereferanse': 'høydereferanse',
        'hydereferanse_tall': 'høydereferanse_tall',
        'nyaktighetskrav_hyde': 'nøyaktighetskrav_høyde',
        'referansegeometri_tilstrekkelig': 'referansegeometri_tilstrekkelig',
        'sosi_referanse': 'sosi_referanse',
        'avledet': 'avledet',
        'obligatorisk_verdi': 'obligatorisk_verdi',
        'gruppesorteringsnummer': 'gruppesorteringsnummer',
        'tilleggskrav': 'tilleggskrav'
    }

    def __init__(self, id=None, kategori=None, navn=None, kortnavn=None, beskrivelse=None, egenskapstype=None, datatype=None, sosinvdbnavn=None, sosinavn=None, sorteringsnummer=None, sensitivitet=None, viktighet=None, ledetekst=None, skrivebeskyttet=None, komplementr_egenskapstype=None, grunnrissreferanse=None, nyaktighetskrav_grunnriss=None, hydereferanse=None, hydereferanse_tall=None, nyaktighetskrav_hyde=None, referansegeometri_tilstrekkelig=None, sosi_referanse=None, avledet=None, obligatorisk_verdi=None, gruppesorteringsnummer=None, tilleggskrav=None):  # noqa: E501
        """VegobjektTypeEgenskapBase - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._kategori = None
        self._navn = None
        self._kortnavn = None
        self._beskrivelse = None
        self._egenskapstype = None
        self._datatype = None
        self._sosinvdbnavn = None
        self._sosinavn = None
        self._sorteringsnummer = None
        self._sensitivitet = None
        self._viktighet = None
        self._ledetekst = None
        self._skrivebeskyttet = None
        self._komplementr_egenskapstype = None
        self._grunnrissreferanse = None
        self._nyaktighetskrav_grunnriss = None
        self._hydereferanse = None
        self._hydereferanse_tall = None
        self._nyaktighetskrav_hyde = None
        self._referansegeometri_tilstrekkelig = None
        self._sosi_referanse = None
        self._avledet = None
        self._obligatorisk_verdi = None
        self._gruppesorteringsnummer = None
        self._tilleggskrav = None
        self.discriminator = None
        if id is not None:
            self.id = id
        if kategori is not None:
            self.kategori = kategori
        if navn is not None:
            self.navn = navn
        if kortnavn is not None:
            self.kortnavn = kortnavn
        if beskrivelse is not None:
            self.beskrivelse = beskrivelse
        if egenskapstype is not None:
            self.egenskapstype = egenskapstype
        if datatype is not None:
            self.datatype = datatype
        if sosinvdbnavn is not None:
            self.sosinvdbnavn = sosinvdbnavn
        if sosinavn is not None:
            self.sosinavn = sosinavn
        if sorteringsnummer is not None:
            self.sorteringsnummer = sorteringsnummer
        if sensitivitet is not None:
            self.sensitivitet = sensitivitet
        if viktighet is not None:
            self.viktighet = viktighet
        if ledetekst is not None:
            self.ledetekst = ledetekst
        if skrivebeskyttet is not None:
            self.skrivebeskyttet = skrivebeskyttet
        if komplementr_egenskapstype is not None:
            self.komplementr_egenskapstype = komplementr_egenskapstype
        if grunnrissreferanse is not None:
            self.grunnrissreferanse = grunnrissreferanse
        if nyaktighetskrav_grunnriss is not None:
            self.nyaktighetskrav_grunnriss = nyaktighetskrav_grunnriss
        if hydereferanse is not None:
            self.hydereferanse = hydereferanse
        if hydereferanse_tall is not None:
            self.hydereferanse_tall = hydereferanse_tall
        if nyaktighetskrav_hyde is not None:
            self.nyaktighetskrav_hyde = nyaktighetskrav_hyde
        if referansegeometri_tilstrekkelig is not None:
            self.referansegeometri_tilstrekkelig = referansegeometri_tilstrekkelig
        if sosi_referanse is not None:
            self.sosi_referanse = sosi_referanse
        if avledet is not None:
            self.avledet = avledet
        if obligatorisk_verdi is not None:
            self.obligatorisk_verdi = obligatorisk_verdi
        if gruppesorteringsnummer is not None:
            self.gruppesorteringsnummer = gruppesorteringsnummer
        if tilleggskrav is not None:
            self.tilleggskrav = tilleggskrav

    @property
    def id(self):
        """Gets the id of this VegobjektTypeEgenskapBase.  # noqa: E501

        Angir egenskapstypens unike id.  # noqa: E501

        :return: The id of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._id

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

        Angir egenskapstypens unike id.  # noqa: E501

        :param id: The id of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """

        self._id = id

    @property
    def kategori(self):
        """Gets the kategori of this VegobjektTypeEgenskapBase.  # noqa: E501

        Kategorien til denne egenskapstypen. Se endepunkt /vegobjekttyper/egenskapstypekategorier  # noqa: E501

        :return: The kategori of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._kategori

    @kategori.setter
    def kategori(self, kategori):
        """Sets the kategori of this VegobjektTypeEgenskapBase.

        Kategorien til denne egenskapstypen. Se endepunkt /vegobjekttyper/egenskapstypekategorier  # noqa: E501

        :param kategori: The kategori of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """

        self._kategori = kategori

    @property
    def navn(self):
        """Gets the navn of this VegobjektTypeEgenskapBase.  # noqa: E501

        Angir egenskapstypens offisielle navn.  # noqa: E501

        :return: The navn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._navn

    @navn.setter
    def navn(self, navn):
        """Sets the navn of this VegobjektTypeEgenskapBase.

        Angir egenskapstypens offisielle navn.  # noqa: E501

        :param navn: The navn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._navn = navn

    @property
    def kortnavn(self):
        """Gets the kortnavn of this VegobjektTypeEgenskapBase.  # noqa: E501

        Et forkortet navn  # noqa: E501

        :return: The kortnavn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._kortnavn

    @kortnavn.setter
    def kortnavn(self, kortnavn):
        """Sets the kortnavn of this VegobjektTypeEgenskapBase.

        Et forkortet navn  # noqa: E501

        :param kortnavn: The kortnavn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._kortnavn = kortnavn

    @property
    def beskrivelse(self):
        """Gets the beskrivelse of this VegobjektTypeEgenskapBase.  # noqa: E501

        Tekstlig beskrivelse av egenskapstypen.  # noqa: E501

        :return: The beskrivelse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._beskrivelse

    @beskrivelse.setter
    def beskrivelse(self, beskrivelse):
        """Sets the beskrivelse of this VegobjektTypeEgenskapBase.

        Tekstlig beskrivelse av egenskapstypen.  # noqa: E501

        :param beskrivelse: The beskrivelse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._beskrivelse = beskrivelse

    @property
    def egenskapstype(self):
        """Gets the egenskapstype of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The egenskapstype of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: Egenskapstype
        """
        return self._egenskapstype

    @egenskapstype.setter
    def egenskapstype(self, egenskapstype):
        """Sets the egenskapstype of this VegobjektTypeEgenskapBase.


        :param egenskapstype: The egenskapstype of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: Egenskapstype
        """

        self._egenskapstype = egenskapstype

    @property
    def datatype(self):
        """Gets the datatype of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The datatype of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: Datatype
        """
        return self._datatype

    @datatype.setter
    def datatype(self, datatype):
        """Sets the datatype of this VegobjektTypeEgenskapBase.


        :param datatype: The datatype of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: Datatype
        """

        self._datatype = datatype

    @property
    def sosinvdbnavn(self):
        """Gets the sosinvdbnavn of this VegobjektTypeEgenskapBase.  # noqa: E501

        Navn som brukes i dataleveranser  # noqa: E501

        :return: The sosinvdbnavn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._sosinvdbnavn

    @sosinvdbnavn.setter
    def sosinvdbnavn(self, sosinvdbnavn):
        """Sets the sosinvdbnavn of this VegobjektTypeEgenskapBase.

        Navn som brukes i dataleveranser  # noqa: E501

        :param sosinvdbnavn: The sosinvdbnavn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._sosinvdbnavn = sosinvdbnavn

    @property
    def sosinavn(self):
        """Gets the sosinavn of this VegobjektTypeEgenskapBase.  # noqa: E501

        Navn på tilsvarende objekttype i SOSI-standarden  # noqa: E501

        :return: The sosinavn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._sosinavn

    @sosinavn.setter
    def sosinavn(self, sosinavn):
        """Sets the sosinavn of this VegobjektTypeEgenskapBase.

        Navn på tilsvarende objekttype i SOSI-standarden  # noqa: E501

        :param sosinavn: The sosinavn of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._sosinavn = sosinavn

    @property
    def sorteringsnummer(self):
        """Gets the sorteringsnummer of this VegobjektTypeEgenskapBase.  # noqa: E501

        Sorteringsnummer for egenskapstypen  # noqa: E501

        :return: The sorteringsnummer of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._sorteringsnummer

    @sorteringsnummer.setter
    def sorteringsnummer(self, sorteringsnummer):
        """Sets the sorteringsnummer of this VegobjektTypeEgenskapBase.

        Sorteringsnummer for egenskapstypen  # noqa: E501

        :param sorteringsnummer: The sorteringsnummer of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """

        self._sorteringsnummer = sorteringsnummer

    @property
    def sensitivitet(self):
        """Gets the sensitivitet of this VegobjektTypeEgenskapBase.  # noqa: E501

        Angir om egenskapstypen har verdier av sensitiv art. Dersom verdi er 0 er egenskapen ikke sensitiv.  # noqa: E501

        :return: The sensitivitet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._sensitivitet

    @sensitivitet.setter
    def sensitivitet(self, sensitivitet):
        """Sets the sensitivitet of this VegobjektTypeEgenskapBase.

        Angir om egenskapstypen har verdier av sensitiv art. Dersom verdi er 0 er egenskapen ikke sensitiv.  # noqa: E501

        :param sensitivitet: The sensitivitet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """
        allowed_values = [0, 1, 2, 3]  # noqa: E501
        if sensitivitet not in allowed_values:
            raise ValueError(
                "Invalid value for `sensitivitet` ({0}), must be one of {1}"  # noqa: E501
                .format(sensitivitet, allowed_values)
            )

        self._sensitivitet = sensitivitet

    @property
    def viktighet(self):
        """Gets the viktighet of this VegobjektTypeEgenskapBase.  # noqa: E501

        Angir om det er krav til regisrering av egenskapstypen  # noqa: E501

        :return: The viktighet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._viktighet

    @viktighet.setter
    def viktighet(self, viktighet):
        """Sets the viktighet of this VegobjektTypeEgenskapBase.

        Angir om det er krav til regisrering av egenskapstypen  # noqa: E501

        :param viktighet: The viktighet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """
        allowed_values = ["IKKE_SATT", "PÅKREVD_ABSOLUTT -Et vegobjekt kan ikke lagres i NVDB uten at denne egenskapstypen har verdi", "PÅKREVD_IKKE_ABSOLUTT - Egenskapstypen skal registreres, men vegobjekter som mangler verdi skal ikke avvises", "BETINGET - Egenskapstypens skal registreres, dersom det er relevant eller om gitte kriterier er oppfylt", "OPSJONELL - Det er frivillig å registrere egenskapstypen", "MINDRE_VIKTIG - Det er frivillig å registrere egenskapstypen", "HISTORISK - Egenskapstypen skal ikke registreres"]  # noqa: E501
        if viktighet not in allowed_values:
            raise ValueError(
                "Invalid value for `viktighet` ({0}), must be one of {1}"  # noqa: E501
                .format(viktighet, allowed_values)
            )

        self._viktighet = viktighet

    @property
    def ledetekst(self):
        """Gets the ledetekst of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The ledetekst of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._ledetekst

    @ledetekst.setter
    def ledetekst(self, ledetekst):
        """Sets the ledetekst of this VegobjektTypeEgenskapBase.


        :param ledetekst: The ledetekst of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._ledetekst = ledetekst

    @property
    def skrivebeskyttet(self):
        """Gets the skrivebeskyttet of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The skrivebeskyttet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: bool
        """
        return self._skrivebeskyttet

    @skrivebeskyttet.setter
    def skrivebeskyttet(self, skrivebeskyttet):
        """Sets the skrivebeskyttet of this VegobjektTypeEgenskapBase.


        :param skrivebeskyttet: The skrivebeskyttet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: bool
        """

        self._skrivebeskyttet = skrivebeskyttet

    @property
    def komplementr_egenskapstype(self):
        """Gets the komplementr_egenskapstype of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The komplementr_egenskapstype of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._komplementr_egenskapstype

    @komplementr_egenskapstype.setter
    def komplementr_egenskapstype(self, komplementr_egenskapstype):
        """Sets the komplementr_egenskapstype of this VegobjektTypeEgenskapBase.


        :param komplementr_egenskapstype: The komplementr_egenskapstype of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """

        self._komplementr_egenskapstype = komplementr_egenskapstype

    @property
    def grunnrissreferanse(self):
        """Gets the grunnrissreferanse of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The grunnrissreferanse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._grunnrissreferanse

    @grunnrissreferanse.setter
    def grunnrissreferanse(self, grunnrissreferanse):
        """Sets the grunnrissreferanse of this VegobjektTypeEgenskapBase.


        :param grunnrissreferanse: The grunnrissreferanse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._grunnrissreferanse = grunnrissreferanse

    @property
    def nyaktighetskrav_grunnriss(self):
        """Gets the nyaktighetskrav_grunnriss of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The nyaktighetskrav_grunnriss of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: float
        """
        return self._nyaktighetskrav_grunnriss

    @nyaktighetskrav_grunnriss.setter
    def nyaktighetskrav_grunnriss(self, nyaktighetskrav_grunnriss):
        """Sets the nyaktighetskrav_grunnriss of this VegobjektTypeEgenskapBase.


        :param nyaktighetskrav_grunnriss: The nyaktighetskrav_grunnriss of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: float
        """

        self._nyaktighetskrav_grunnriss = nyaktighetskrav_grunnriss

    @property
    def hydereferanse(self):
        """Gets the hydereferanse of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The hydereferanse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._hydereferanse

    @hydereferanse.setter
    def hydereferanse(self, hydereferanse):
        """Sets the hydereferanse of this VegobjektTypeEgenskapBase.


        :param hydereferanse: The hydereferanse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._hydereferanse = hydereferanse

    @property
    def hydereferanse_tall(self):
        """Gets the hydereferanse_tall of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The hydereferanse_tall of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._hydereferanse_tall

    @hydereferanse_tall.setter
    def hydereferanse_tall(self, hydereferanse_tall):
        """Sets the hydereferanse_tall of this VegobjektTypeEgenskapBase.


        :param hydereferanse_tall: The hydereferanse_tall of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """

        self._hydereferanse_tall = hydereferanse_tall

    @property
    def nyaktighetskrav_hyde(self):
        """Gets the nyaktighetskrav_hyde of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The nyaktighetskrav_hyde of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: float
        """
        return self._nyaktighetskrav_hyde

    @nyaktighetskrav_hyde.setter
    def nyaktighetskrav_hyde(self, nyaktighetskrav_hyde):
        """Sets the nyaktighetskrav_hyde of this VegobjektTypeEgenskapBase.


        :param nyaktighetskrav_hyde: The nyaktighetskrav_hyde of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: float
        """

        self._nyaktighetskrav_hyde = nyaktighetskrav_hyde

    @property
    def referansegeometri_tilstrekkelig(self):
        """Gets the referansegeometri_tilstrekkelig of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The referansegeometri_tilstrekkelig of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: bool
        """
        return self._referansegeometri_tilstrekkelig

    @referansegeometri_tilstrekkelig.setter
    def referansegeometri_tilstrekkelig(self, referansegeometri_tilstrekkelig):
        """Sets the referansegeometri_tilstrekkelig of this VegobjektTypeEgenskapBase.


        :param referansegeometri_tilstrekkelig: The referansegeometri_tilstrekkelig of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: bool
        """

        self._referansegeometri_tilstrekkelig = referansegeometri_tilstrekkelig

    @property
    def sosi_referanse(self):
        """Gets the sosi_referanse of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The sosi_referanse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: str
        """
        return self._sosi_referanse

    @sosi_referanse.setter
    def sosi_referanse(self, sosi_referanse):
        """Sets the sosi_referanse of this VegobjektTypeEgenskapBase.


        :param sosi_referanse: The sosi_referanse of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: str
        """

        self._sosi_referanse = sosi_referanse

    @property
    def avledet(self):
        """Gets the avledet of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The avledet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: bool
        """
        return self._avledet

    @avledet.setter
    def avledet(self, avledet):
        """Sets the avledet of this VegobjektTypeEgenskapBase.


        :param avledet: The avledet of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: bool
        """

        self._avledet = avledet

    @property
    def obligatorisk_verdi(self):
        """Gets the obligatorisk_verdi of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The obligatorisk_verdi of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: bool
        """
        return self._obligatorisk_verdi

    @obligatorisk_verdi.setter
    def obligatorisk_verdi(self, obligatorisk_verdi):
        """Sets the obligatorisk_verdi of this VegobjektTypeEgenskapBase.


        :param obligatorisk_verdi: The obligatorisk_verdi of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: bool
        """

        self._obligatorisk_verdi = obligatorisk_verdi

    @property
    def gruppesorteringsnummer(self):
        """Gets the gruppesorteringsnummer of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The gruppesorteringsnummer of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: int
        """
        return self._gruppesorteringsnummer

    @gruppesorteringsnummer.setter
    def gruppesorteringsnummer(self, gruppesorteringsnummer):
        """Sets the gruppesorteringsnummer of this VegobjektTypeEgenskapBase.


        :param gruppesorteringsnummer: The gruppesorteringsnummer of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: int
        """

        self._gruppesorteringsnummer = gruppesorteringsnummer

    @property
    def tilleggskrav(self):
        """Gets the tilleggskrav of this VegobjektTypeEgenskapBase.  # noqa: E501


        :return: The tilleggskrav of this VegobjektTypeEgenskapBase.  # noqa: E501
        :rtype: list[str]
        """
        return self._tilleggskrav

    @tilleggskrav.setter
    def tilleggskrav(self, tilleggskrav):
        """Sets the tilleggskrav of this VegobjektTypeEgenskapBase.


        :param tilleggskrav: The tilleggskrav of this VegobjektTypeEgenskapBase.  # noqa: E501
        :type: list[str]
        """

        self._tilleggskrav = tilleggskrav

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(VegobjektTypeEgenskapBase, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, VegobjektTypeEgenskapBase):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
