# coding: utf-8

"""
    MMA v3 Stats

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

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

import pprint
import re  # noqa: F401

import six

class MmaStatsCareerStat(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 = {
        'fighter_id': 'int',
        'first_name': 'str',
        'last_name': 'str',
        'sig_strikes_landed_per_minute': 'float',
        'sig_strike_accuracy': 'float',
        'takedown_average': 'float',
        'submission_average': 'float',
        'knockout_percentage': 'float',
        'technical_knockout_percentage': 'float',
        'decision_percentage': 'float'
    }

    attribute_map = {
        'fighter_id': 'FighterId',
        'first_name': 'FirstName',
        'last_name': 'LastName',
        'sig_strikes_landed_per_minute': 'SigStrikesLandedPerMinute',
        'sig_strike_accuracy': 'SigStrikeAccuracy',
        'takedown_average': 'TakedownAverage',
        'submission_average': 'SubmissionAverage',
        'knockout_percentage': 'KnockoutPercentage',
        'technical_knockout_percentage': 'TechnicalKnockoutPercentage',
        'decision_percentage': 'DecisionPercentage'
    }

    def __init__(self, fighter_id=None, first_name=None, last_name=None, sig_strikes_landed_per_minute=None, sig_strike_accuracy=None, takedown_average=None, submission_average=None, knockout_percentage=None, technical_knockout_percentage=None, decision_percentage=None):  # noqa: E501
        """MmaStatsCareerStat - a model defined in Swagger"""  # noqa: E501
        self._fighter_id = None
        self._first_name = None
        self._last_name = None
        self._sig_strikes_landed_per_minute = None
        self._sig_strike_accuracy = None
        self._takedown_average = None
        self._submission_average = None
        self._knockout_percentage = None
        self._technical_knockout_percentage = None
        self._decision_percentage = None
        self.discriminator = None
        if fighter_id is not None:
            self.fighter_id = fighter_id
        if first_name is not None:
            self.first_name = first_name
        if last_name is not None:
            self.last_name = last_name
        if sig_strikes_landed_per_minute is not None:
            self.sig_strikes_landed_per_minute = sig_strikes_landed_per_minute
        if sig_strike_accuracy is not None:
            self.sig_strike_accuracy = sig_strike_accuracy
        if takedown_average is not None:
            self.takedown_average = takedown_average
        if submission_average is not None:
            self.submission_average = submission_average
        if knockout_percentage is not None:
            self.knockout_percentage = knockout_percentage
        if technical_knockout_percentage is not None:
            self.technical_knockout_percentage = technical_knockout_percentage
        if decision_percentage is not None:
            self.decision_percentage = decision_percentage

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


        :return: The fighter_id of this MmaStatsCareerStat.  # noqa: E501
        :rtype: int
        """
        return self._fighter_id

    @fighter_id.setter
    def fighter_id(self, fighter_id):
        """Sets the fighter_id of this MmaStatsCareerStat.


        :param fighter_id: The fighter_id of this MmaStatsCareerStat.  # noqa: E501
        :type: int
        """

        self._fighter_id = fighter_id

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


        :return: The first_name of this MmaStatsCareerStat.  # noqa: E501
        :rtype: str
        """
        return self._first_name

    @first_name.setter
    def first_name(self, first_name):
        """Sets the first_name of this MmaStatsCareerStat.


        :param first_name: The first_name of this MmaStatsCareerStat.  # noqa: E501
        :type: str
        """

        self._first_name = first_name

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


        :return: The last_name of this MmaStatsCareerStat.  # noqa: E501
        :rtype: str
        """
        return self._last_name

    @last_name.setter
    def last_name(self, last_name):
        """Sets the last_name of this MmaStatsCareerStat.


        :param last_name: The last_name of this MmaStatsCareerStat.  # noqa: E501
        :type: str
        """

        self._last_name = last_name

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


        :return: The sig_strikes_landed_per_minute of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._sig_strikes_landed_per_minute

    @sig_strikes_landed_per_minute.setter
    def sig_strikes_landed_per_minute(self, sig_strikes_landed_per_minute):
        """Sets the sig_strikes_landed_per_minute of this MmaStatsCareerStat.


        :param sig_strikes_landed_per_minute: The sig_strikes_landed_per_minute of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._sig_strikes_landed_per_minute = sig_strikes_landed_per_minute

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


        :return: The sig_strike_accuracy of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._sig_strike_accuracy

    @sig_strike_accuracy.setter
    def sig_strike_accuracy(self, sig_strike_accuracy):
        """Sets the sig_strike_accuracy of this MmaStatsCareerStat.


        :param sig_strike_accuracy: The sig_strike_accuracy of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._sig_strike_accuracy = sig_strike_accuracy

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


        :return: The takedown_average of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._takedown_average

    @takedown_average.setter
    def takedown_average(self, takedown_average):
        """Sets the takedown_average of this MmaStatsCareerStat.


        :param takedown_average: The takedown_average of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._takedown_average = takedown_average

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


        :return: The submission_average of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._submission_average

    @submission_average.setter
    def submission_average(self, submission_average):
        """Sets the submission_average of this MmaStatsCareerStat.


        :param submission_average: The submission_average of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._submission_average = submission_average

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


        :return: The knockout_percentage of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._knockout_percentage

    @knockout_percentage.setter
    def knockout_percentage(self, knockout_percentage):
        """Sets the knockout_percentage of this MmaStatsCareerStat.


        :param knockout_percentage: The knockout_percentage of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._knockout_percentage = knockout_percentage

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


        :return: The technical_knockout_percentage of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._technical_knockout_percentage

    @technical_knockout_percentage.setter
    def technical_knockout_percentage(self, technical_knockout_percentage):
        """Sets the technical_knockout_percentage of this MmaStatsCareerStat.


        :param technical_knockout_percentage: The technical_knockout_percentage of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._technical_knockout_percentage = technical_knockout_percentage

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


        :return: The decision_percentage of this MmaStatsCareerStat.  # noqa: E501
        :rtype: float
        """
        return self._decision_percentage

    @decision_percentage.setter
    def decision_percentage(self, decision_percentage):
        """Sets the decision_percentage of this MmaStatsCareerStat.


        :param decision_percentage: The decision_percentage of this MmaStatsCareerStat.  # noqa: E501
        :type: float
        """

        self._decision_percentage = decision_percentage

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

        return self.__dict__ == other.__dict__

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