# coding: utf-8

"""
    Xero Finance API

    The Finance API is a collection of endpoints which customers can use in the course of a loan application, which may assist lenders to gain the confidence they need to provide capital.  # noqa: E501

    Contact: api@xero.com
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401

from xero_python.models import BaseModel


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

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_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.
    """
    openapi_types = {
        "report_name": "str",
        "report_date_text": "str",
        "published_date_utc": "datetime",
    }

    attribute_map = {
        "report_name": "reportName",
        "report_date_text": "reportDateText",
        "published_date_utc": "publishedDateUtc",
    }

    def __init__(
        self, report_name=None, report_date_text=None, published_date_utc=None
    ):  # noqa: E501
        """ReportHistoryModel - a model defined in OpenAPI"""  # noqa: E501

        self._report_name = None
        self._report_date_text = None
        self._published_date_utc = None
        self.discriminator = None

        if report_name is not None:
            self.report_name = report_name
        if report_date_text is not None:
            self.report_date_text = report_date_text
        if published_date_utc is not None:
            self.published_date_utc = published_date_utc

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

        Report code or report title  # noqa: E501

        :return: The report_name of this ReportHistoryModel.  # noqa: E501
        :rtype: str
        """
        return self._report_name

    @report_name.setter
    def report_name(self, report_name):
        """Sets the report_name of this ReportHistoryModel.

        Report code or report title  # noqa: E501

        :param report_name: The report_name of this ReportHistoryModel.  # noqa: E501
        :type: str
        """

        self._report_name = report_name

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

        The date or date range of the report  # noqa: E501

        :return: The report_date_text of this ReportHistoryModel.  # noqa: E501
        :rtype: str
        """
        return self._report_date_text

    @report_date_text.setter
    def report_date_text(self, report_date_text):
        """Sets the report_date_text of this ReportHistoryModel.

        The date or date range of the report  # noqa: E501

        :param report_date_text: The report_date_text of this ReportHistoryModel.  # noqa: E501
        :type: str
        """

        self._report_date_text = report_date_text

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

        The system date time that the report was published  # noqa: E501

        :return: The published_date_utc of this ReportHistoryModel.  # noqa: E501
        :rtype: datetime
        """
        return self._published_date_utc

    @published_date_utc.setter
    def published_date_utc(self, published_date_utc):
        """Sets the published_date_utc of this ReportHistoryModel.

        The system date time that the report was published  # noqa: E501

        :param published_date_utc: The published_date_utc of this ReportHistoryModel.  # noqa: E501
        :type: datetime
        """

        self._published_date_utc = published_date_utc
