# coding: utf-8

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

from typing import List, Dict  # noqa: F401

from xpctl.xpserver.models.base_model_ import Model
from xpctl.xpserver import util


class AggregateResultValues(Model):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    def __init__(self, aggregate_fn=None, score=None):  # noqa: E501
        """AggregateResultValues - a model defined in Swagger

        :param aggregate_fn: The aggregate_fn of this AggregateResultValues.  # noqa: E501
        :type aggregate_fn: str
        :param score: The score of this AggregateResultValues.  # noqa: E501
        :type score: float
        """
        self.swagger_types = {
            'aggregate_fn': str,
            'score': float
        }

        self.attribute_map = {
            'aggregate_fn': 'aggregate_fn',
            'score': 'score'
        }

        self._aggregate_fn = aggregate_fn
        self._score = score

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

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

    @property
    def aggregate_fn(self):
        """Gets the aggregate_fn of this AggregateResultValues.


        :return: The aggregate_fn of this AggregateResultValues.
        :rtype: str
        """
        return self._aggregate_fn

    @aggregate_fn.setter
    def aggregate_fn(self, aggregate_fn):
        """Sets the aggregate_fn of this AggregateResultValues.


        :param aggregate_fn: The aggregate_fn of this AggregateResultValues.
        :type aggregate_fn: str
        """

        self._aggregate_fn = aggregate_fn

    @property
    def score(self):
        """Gets the score of this AggregateResultValues.


        :return: The score of this AggregateResultValues.
        :rtype: float
        """
        return self._score

    @score.setter
    def score(self, score):
        """Sets the score of this AggregateResultValues.


        :param score: The score of this AggregateResultValues.
        :type score: float
        """

        self._score = score
