# coding: utf-8

from __future__ import absolute_import
from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from com_csaa_claims_ai_assignment.models.base_model_ import Model
from com_csaa_claims_ai_assignment import util


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

    Do not edit the class manually.
    """

    def __init__(self, publicid=None, color=None, license_plate=None, make=None, mileage=None, model=None, style=None, symbol=None, ubi=None, year=None):  # noqa: E501
        """Vehicle - a model defined in OpenAPI

        :param publicid: The publicid of this Vehicle.  # noqa: E501
        :type publicid: str
        :param color: The color of this Vehicle.  # noqa: E501
        :type color: str
        :param license_plate: The license_plate of this Vehicle.  # noqa: E501
        :type license_plate: str
        :param make: The make of this Vehicle.  # noqa: E501
        :type make: str
        :param mileage: The mileage of this Vehicle.  # noqa: E501
        :type mileage: str
        :param model: The model of this Vehicle.  # noqa: E501
        :type model: str
        :param style: The style of this Vehicle.  # noqa: E501
        :type style: str
        :param symbol: The symbol of this Vehicle.  # noqa: E501
        :type symbol: str
        :param ubi: The ubi of this Vehicle.  # noqa: E501
        :type ubi: str
        :param year: The year of this Vehicle.  # noqa: E501
        :type year: str
        """
        self.openapi_types = {
            'publicid': str,
            'color': str,
            'license_plate': str,
            'make': str,
            'mileage': str,
            'model': str,
            'style': str,
            'symbol': str,
            'ubi': str,
            'year': str
        }

        self.attribute_map = {
            'publicid': 'publicid',
            'color': 'color',
            'license_plate': 'licensePlate',
            'make': 'make',
            'mileage': 'mileage',
            'model': 'model',
            'style': 'style',
            'symbol': 'symbol',
            'ubi': 'ubi',
            'year': 'year'
        }

        self._publicid = publicid
        self._color = color
        self._license_plate = license_plate
        self._make = make
        self._mileage = mileage
        self._model = model
        self._style = style
        self._symbol = symbol
        self._ubi = ubi
        self._year = year

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

        :param dikt: A dict.
        :type: dict
        :return: The Vehicle of this Vehicle.  # noqa: E501
        :rtype: Vehicle
        """
        return util.deserialize_model(dikt, cls)

    @property
    def publicid(self):
        """Gets the publicid of this Vehicle.


        :return: The publicid of this Vehicle.
        :rtype: str
        """
        return self._publicid

    @publicid.setter
    def publicid(self, publicid):
        """Sets the publicid of this Vehicle.


        :param publicid: The publicid of this Vehicle.
        :type publicid: str
        """

        self._publicid = publicid

    @property
    def color(self):
        """Gets the color of this Vehicle.


        :return: The color of this Vehicle.
        :rtype: str
        """
        return self._color

    @color.setter
    def color(self, color):
        """Sets the color of this Vehicle.


        :param color: The color of this Vehicle.
        :type color: str
        """

        self._color = color

    @property
    def license_plate(self):
        """Gets the license_plate of this Vehicle.


        :return: The license_plate of this Vehicle.
        :rtype: str
        """
        return self._license_plate

    @license_plate.setter
    def license_plate(self, license_plate):
        """Sets the license_plate of this Vehicle.


        :param license_plate: The license_plate of this Vehicle.
        :type license_plate: str
        """

        self._license_plate = license_plate

    @property
    def make(self):
        """Gets the make of this Vehicle.


        :return: The make of this Vehicle.
        :rtype: str
        """
        return self._make

    @make.setter
    def make(self, make):
        """Sets the make of this Vehicle.


        :param make: The make of this Vehicle.
        :type make: str
        """

        self._make = make

    @property
    def mileage(self):
        """Gets the mileage of this Vehicle.


        :return: The mileage of this Vehicle.
        :rtype: str
        """
        return self._mileage

    @mileage.setter
    def mileage(self, mileage):
        """Sets the mileage of this Vehicle.


        :param mileage: The mileage of this Vehicle.
        :type mileage: str
        """

        self._mileage = mileage

    @property
    def model(self):
        """Gets the model of this Vehicle.


        :return: The model of this Vehicle.
        :rtype: str
        """
        return self._model

    @model.setter
    def model(self, model):
        """Sets the model of this Vehicle.


        :param model: The model of this Vehicle.
        :type model: str
        """

        self._model = model

    @property
    def style(self):
        """Gets the style of this Vehicle.


        :return: The style of this Vehicle.
        :rtype: str
        """
        return self._style

    @style.setter
    def style(self, style):
        """Sets the style of this Vehicle.


        :param style: The style of this Vehicle.
        :type style: str
        """

        self._style = style

    @property
    def symbol(self):
        """Gets the symbol of this Vehicle.


        :return: The symbol of this Vehicle.
        :rtype: str
        """
        return self._symbol

    @symbol.setter
    def symbol(self, symbol):
        """Sets the symbol of this Vehicle.


        :param symbol: The symbol of this Vehicle.
        :type symbol: str
        """

        self._symbol = symbol

    @property
    def ubi(self):
        """Gets the ubi of this Vehicle.


        :return: The ubi of this Vehicle.
        :rtype: str
        """
        return self._ubi

    @ubi.setter
    def ubi(self, ubi):
        """Sets the ubi of this Vehicle.


        :param ubi: The ubi of this Vehicle.
        :type ubi: str
        """

        self._ubi = ubi

    @property
    def year(self):
        """Gets the year of this Vehicle.


        :return: The year of this Vehicle.
        :rtype: str
        """
        return self._year

    @year.setter
    def year(self, year):
        """Sets the year of this Vehicle.


        :param year: The year of this Vehicle.
        :type year: str
        """

        self._year = year
