# coding: utf-8

"""
    CodeChef API

    CodeChef API to support different applications.  # noqa: E501

    OpenAPI spec version: 1.0.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six


class Rating(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 = {
        'long': 'float',
        'short': 'float',
        'l_time': 'float',
        'all_contest': 'float',
        'all_school_contest': 'float',
        'long_school': 'float',
        'short_school': 'float',
        'l_time_school': 'float'
    }

    attribute_map = {
        'long': 'long',
        'short': 'short',
        'l_time': 'lTime',
        'all_contest': 'allContest',
        'all_school_contest': 'allSchoolContest',
        'long_school': 'longSchool',
        'short_school': 'shortSchool',
        'l_time_school': 'lTimeSchool'
    }

    def __init__(self, long=None, short=None, l_time=None, all_contest=None, all_school_contest=None, long_school=None, short_school=None, l_time_school=None):  # noqa: E501
        """Rating - a model defined in Swagger"""  # noqa: E501

        self._long = None
        self._short = None
        self._l_time = None
        self._all_contest = None
        self._all_school_contest = None
        self._long_school = None
        self._short_school = None
        self._l_time_school = None
        self.discriminator = None

        if long is not None:
            self.long = long
        if short is not None:
            self.short = short
        if l_time is not None:
            self.l_time = l_time
        if all_contest is not None:
            self.all_contest = all_contest
        if all_school_contest is not None:
            self.all_school_contest = all_school_contest
        if long_school is not None:
            self.long_school = long_school
        if short_school is not None:
            self.short_school = short_school
        if l_time_school is not None:
            self.l_time_school = l_time_school

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

        LongRating of the user(integer).  # noqa: E501

        :return: The long of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._long

    @long.setter
    def long(self, long):
        """Sets the long of this Rating.

        LongRating of the user(integer).  # noqa: E501

        :param long: The long of this Rating.  # noqa: E501
        :type: float
        """

        self._long = long

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

        Cook off of the user(integer).  # noqa: E501

        :return: The short of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._short

    @short.setter
    def short(self, short):
        """Sets the short of this Rating.

        Cook off of the user(integer).  # noqa: E501

        :param short: The short of this Rating.  # noqa: E501
        :type: float
        """

        self._short = short

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

        Lunch time rating(integer).  # noqa: E501

        :return: The l_time of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._l_time

    @l_time.setter
    def l_time(self, l_time):
        """Sets the l_time of this Rating.

        Lunch time rating(integer).  # noqa: E501

        :param l_time: The l_time of this Rating.  # noqa: E501
        :type: float
        """

        self._l_time = l_time

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

        All contest rating of the user(integer).  # noqa: E501

        :return: The all_contest of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._all_contest

    @all_contest.setter
    def all_contest(self, all_contest):
        """Sets the all_contest of this Rating.

        All contest rating of the user(integer).  # noqa: E501

        :param all_contest: The all_contest of this Rating.  # noqa: E501
        :type: float
        """

        self._all_contest = all_contest

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

        All school contest rating of the user(integer).  # noqa: E501

        :return: The all_school_contest of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._all_school_contest

    @all_school_contest.setter
    def all_school_contest(self, all_school_contest):
        """Sets the all_school_contest of this Rating.

        All school contest rating of the user(integer).  # noqa: E501

        :param all_school_contest: The all_school_contest of this Rating.  # noqa: E501
        :type: float
        """

        self._all_school_contest = all_school_contest

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

        Long time rating(integer).  # noqa: E501

        :return: The long_school of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._long_school

    @long_school.setter
    def long_school(self, long_school):
        """Sets the long_school of this Rating.

        Long time rating(integer).  # noqa: E501

        :param long_school: The long_school of this Rating.  # noqa: E501
        :type: float
        """

        self._long_school = long_school

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

        Short school rating (when user used to be in school)(integer).  # noqa: E501

        :return: The short_school of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._short_school

    @short_school.setter
    def short_school(self, short_school):
        """Sets the short_school of this Rating.

        Short school rating (when user used to be in school)(integer).  # noqa: E501

        :param short_school: The short_school of this Rating.  # noqa: E501
        :type: float
        """

        self._short_school = short_school

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

        Ltime school rating (when user used to be in school)(integer).  # noqa: E501

        :return: The l_time_school of this Rating.  # noqa: E501
        :rtype: float
        """
        return self._l_time_school

    @l_time_school.setter
    def l_time_school(self, l_time_school):
        """Sets the l_time_school of this Rating.

        Ltime school rating (when user used to be in school)(integer).  # noqa: E501

        :param l_time_school: The l_time_school of this Rating.  # noqa: E501
        :type: float
        """

        self._l_time_school = l_time_school

    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

        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, Rating):
            return False

        return self.__dict__ == other.__dict__

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