# coding: utf-8

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

from typing import List, Dict  # noqa: F401

from mcenter_server_api.models.base_model_ import Model
from mcenter_server_api import util


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

    Do not edit the class manually.
    """

    def __init__(self, configurable=None, db_name=None, id=None, ml_stat=None, query=None, title=None):  # noqa: E501
        """ChartView - a model defined in OpenAPI

        :param configurable: The configurable of this ChartView.  # noqa: E501
        :type configurable: bool
        :param db_name: The db_name of this ChartView.  # noqa: E501
        :type db_name: str
        :param id: The id of this ChartView.  # noqa: E501
        :type id: str
        :param ml_stat: The ml_stat of this ChartView.  # noqa: E501
        :type ml_stat: ChartViewMlStat
        :param query: The query of this ChartView.  # noqa: E501
        :type query: str
        :param title: The title of this ChartView.  # noqa: E501
        :type title: str
        """
        self.openapi_types = {
            'configurable': 'bool',
            'db_name': 'str',
            'id': 'str',
            'ml_stat': 'ChartViewMlStat',
            'query': 'str',
            'title': 'str'
        }

        self.attribute_map = {
            'configurable': 'configurable',
            'db_name': 'dbName',
            'id': 'id',
            'ml_stat': 'mlStat',
            'query': 'query',
            'title': 'title'
        }

        self._configurable = configurable
        self._db_name = db_name
        self._id = id
        self._ml_stat = ml_stat
        self._query = query
        self._title = title

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

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

    @property
    def configurable(self):
        """Gets the configurable of this ChartView.


        :return: The configurable of this ChartView.
        :rtype: bool
        """
        return self._configurable

    @configurable.setter
    def configurable(self, configurable):
        """Sets the configurable of this ChartView.


        :param configurable: The configurable of this ChartView.
        :type configurable: bool
        """

        self._configurable = configurable

    @property
    def db_name(self):
        """Gets the db_name of this ChartView.


        :return: The db_name of this ChartView.
        :rtype: str
        """
        return self._db_name

    @db_name.setter
    def db_name(self, db_name):
        """Sets the db_name of this ChartView.


        :param db_name: The db_name of this ChartView.
        :type db_name: str
        """

        self._db_name = db_name

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


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

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


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

        self._id = id

    @property
    def ml_stat(self):
        """Gets the ml_stat of this ChartView.


        :return: The ml_stat of this ChartView.
        :rtype: ChartViewMlStat
        """
        return self._ml_stat

    @ml_stat.setter
    def ml_stat(self, ml_stat):
        """Sets the ml_stat of this ChartView.


        :param ml_stat: The ml_stat of this ChartView.
        :type ml_stat: ChartViewMlStat
        """

        self._ml_stat = ml_stat

    @property
    def query(self):
        """Gets the query of this ChartView.


        :return: The query of this ChartView.
        :rtype: str
        """
        return self._query

    @query.setter
    def query(self, query):
        """Sets the query of this ChartView.


        :param query: The query of this ChartView.
        :type query: str
        """

        self._query = query

    @property
    def title(self):
        """Gets the title of this ChartView.


        :return: The title of this ChartView.
        :rtype: str
        """
        return self._title

    @title.setter
    def title(self, title):
        """Sets the title of this ChartView.


        :param title: The title of this ChartView.
        :type title: str
        """

        self._title = title
