# coding: utf-8

"""
    Teleagronom

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

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

import pprint
import re  # noqa: F401

import six

class AgrochemicalCalculatorDetail(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 = {
        'id': 'int',
        'rb_calculator': 'AllOfAgrochemicalCalculatorDetailRbCalculator',
        'normative_calculator': 'AllOfAgrochemicalCalculatorDetailNormativeCalculator',
        'name': 'str',
        'creation_date': 'datetime',
        'is_done': 'bool',
        'ph_water': 'float',
        'ph_salt': 'float',
        'nh4': 'float',
        'no3': 'float',
        'p2o5': 'float',
        'k2o': 'float',
        'method': 'str',
        's': 'float',
        'ca': 'float',
        'mg': 'float',
        'na': 'float',
        'so4': 'float',
        'cl': 'float',
        'organic_substances': 'float',
        'salt_conductivity': 'float',
        'ph_water_interval': 'str',
        'ph_salt_interval': 'str',
        'nh4_interval': 'str',
        'no3_interval': 'str',
        'p2o5_interval': 'str',
        'k2o_interval': 'str',
        's_interval': 'str',
        'ca_interval': 'str',
        'mg_interval': 'str',
        'na_interval': 'str',
        'so4_interval': 'str',
        'cl_interval': 'str',
        'organic_substances_interval': 'str',
        'salt_conductivity_interval': 'str',
        'compare_ph_water_with_ph_salt_interval': 'str',
        'compare_no3_with_nh4_interval': 'str',
        'user': 'int'
    }

    attribute_map = {
        'id': 'id',
        'rb_calculator': 'rb_calculator',
        'normative_calculator': 'normative_calculator',
        'name': 'name',
        'creation_date': 'creation_date',
        'is_done': 'is_done',
        'ph_water': 'ph_water',
        'ph_salt': 'ph_salt',
        'nh4': 'nh4',
        'no3': 'no3',
        'p2o5': 'p2o5',
        'k2o': 'k2o',
        'method': 'method',
        's': 's',
        'ca': 'ca',
        'mg': 'mg',
        'na': 'na',
        'so4': 'so4',
        'cl': 'cl',
        'organic_substances': 'organic_substances',
        'salt_conductivity': 'salt_conductivity',
        'ph_water_interval': 'ph_water_interval',
        'ph_salt_interval': 'ph_salt_interval',
        'nh4_interval': 'nh4_interval',
        'no3_interval': 'no3_interval',
        'p2o5_interval': 'p2o5_interval',
        'k2o_interval': 'k2o_interval',
        's_interval': 's_interval',
        'ca_interval': 'ca_interval',
        'mg_interval': 'mg_interval',
        'na_interval': 'na_interval',
        'so4_interval': 'so4_interval',
        'cl_interval': 'cl_interval',
        'organic_substances_interval': 'organic_substances_interval',
        'salt_conductivity_interval': 'salt_conductivity_interval',
        'compare_ph_water_with_ph_salt_interval': 'compare_ph_water_with_ph_salt_interval',
        'compare_no3_with_nh4_interval': 'compare_no3_with_nh4_interval',
        'user': 'user'
    }

    def __init__(self, id=None, rb_calculator=None, normative_calculator=None, name=None, creation_date=None, is_done=None, ph_water=None, ph_salt=None, nh4=None, no3=None, p2o5=None, k2o=None, method=None, s=None, ca=None, mg=None, na=None, so4=None, cl=None, organic_substances=None, salt_conductivity=None, ph_water_interval=None, ph_salt_interval=None, nh4_interval=None, no3_interval=None, p2o5_interval=None, k2o_interval=None, s_interval=None, ca_interval=None, mg_interval=None, na_interval=None, so4_interval=None, cl_interval=None, organic_substances_interval=None, salt_conductivity_interval=None, compare_ph_water_with_ph_salt_interval=None, compare_no3_with_nh4_interval=None, user=None):  # noqa: E501
        """AgrochemicalCalculatorDetail - a model defined in Swagger"""  # noqa: E501
        self._id = None
        self._rb_calculator = None
        self._normative_calculator = None
        self._name = None
        self._creation_date = None
        self._is_done = None
        self._ph_water = None
        self._ph_salt = None
        self._nh4 = None
        self._no3 = None
        self._p2o5 = None
        self._k2o = None
        self._method = None
        self._s = None
        self._ca = None
        self._mg = None
        self._na = None
        self._so4 = None
        self._cl = None
        self._organic_substances = None
        self._salt_conductivity = None
        self._ph_water_interval = None
        self._ph_salt_interval = None
        self._nh4_interval = None
        self._no3_interval = None
        self._p2o5_interval = None
        self._k2o_interval = None
        self._s_interval = None
        self._ca_interval = None
        self._mg_interval = None
        self._na_interval = None
        self._so4_interval = None
        self._cl_interval = None
        self._organic_substances_interval = None
        self._salt_conductivity_interval = None
        self._compare_ph_water_with_ph_salt_interval = None
        self._compare_no3_with_nh4_interval = None
        self._user = None
        self.discriminator = None
        self.id = id
        self.rb_calculator = rb_calculator
        self.normative_calculator = normative_calculator
        self.name = name
        self.creation_date = creation_date
        self.is_done = is_done
        self.ph_water = ph_water
        self.ph_salt = ph_salt
        self.nh4 = nh4
        self.no3 = no3
        self.p2o5 = p2o5
        self.k2o = k2o
        self.method = method
        self.s = s
        self.ca = ca
        self.mg = mg
        self.na = na
        self.so4 = so4
        self.cl = cl
        self.organic_substances = organic_substances
        self.salt_conductivity = salt_conductivity
        self.ph_water_interval = ph_water_interval
        self.ph_salt_interval = ph_salt_interval
        self.nh4_interval = nh4_interval
        self.no3_interval = no3_interval
        self.p2o5_interval = p2o5_interval
        self.k2o_interval = k2o_interval
        self.s_interval = s_interval
        self.ca_interval = ca_interval
        self.mg_interval = mg_interval
        self.na_interval = na_interval
        self.so4_interval = so4_interval
        self.cl_interval = cl_interval
        self.organic_substances_interval = organic_substances_interval
        self.salt_conductivity_interval = salt_conductivity_interval
        self.compare_ph_water_with_ph_salt_interval = compare_ph_water_with_ph_salt_interval
        self.compare_no3_with_nh4_interval = compare_no3_with_nh4_interval
        self.user = user

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


        :return: The id of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: int
        """
        return self._id

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


        :param id: The id of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: int
        """
        if id is None:
            raise ValueError("Invalid value for `id`, must not be `None`")  # noqa: E501

        self._id = id

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


        :return: The rb_calculator of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: AllOfAgrochemicalCalculatorDetailRbCalculator
        """
        return self._rb_calculator

    @rb_calculator.setter
    def rb_calculator(self, rb_calculator):
        """Sets the rb_calculator of this AgrochemicalCalculatorDetail.


        :param rb_calculator: The rb_calculator of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: AllOfAgrochemicalCalculatorDetailRbCalculator
        """
        if rb_calculator is None:
            raise ValueError("Invalid value for `rb_calculator`, must not be `None`")  # noqa: E501

        self._rb_calculator = rb_calculator

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


        :return: The normative_calculator of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: AllOfAgrochemicalCalculatorDetailNormativeCalculator
        """
        return self._normative_calculator

    @normative_calculator.setter
    def normative_calculator(self, normative_calculator):
        """Sets the normative_calculator of this AgrochemicalCalculatorDetail.


        :param normative_calculator: The normative_calculator of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: AllOfAgrochemicalCalculatorDetailNormativeCalculator
        """
        if normative_calculator is None:
            raise ValueError("Invalid value for `normative_calculator`, must not be `None`")  # noqa: E501

        self._normative_calculator = normative_calculator

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


        :return: The name of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._name

    @name.setter
    def name(self, name):
        """Sets the name of this AgrochemicalCalculatorDetail.


        :param name: The name of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if name is None:
            raise ValueError("Invalid value for `name`, must not be `None`")  # noqa: E501

        self._name = name

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


        :return: The creation_date of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: datetime
        """
        return self._creation_date

    @creation_date.setter
    def creation_date(self, creation_date):
        """Sets the creation_date of this AgrochemicalCalculatorDetail.


        :param creation_date: The creation_date of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: datetime
        """
        if creation_date is None:
            raise ValueError("Invalid value for `creation_date`, must not be `None`")  # noqa: E501

        self._creation_date = creation_date

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


        :return: The is_done of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: bool
        """
        return self._is_done

    @is_done.setter
    def is_done(self, is_done):
        """Sets the is_done of this AgrochemicalCalculatorDetail.


        :param is_done: The is_done of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: bool
        """
        if is_done is None:
            raise ValueError("Invalid value for `is_done`, must not be `None`")  # noqa: E501

        self._is_done = is_done

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


        :return: The ph_water of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._ph_water

    @ph_water.setter
    def ph_water(self, ph_water):
        """Sets the ph_water of this AgrochemicalCalculatorDetail.


        :param ph_water: The ph_water of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if ph_water is None:
            raise ValueError("Invalid value for `ph_water`, must not be `None`")  # noqa: E501

        self._ph_water = ph_water

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


        :return: The ph_salt of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._ph_salt

    @ph_salt.setter
    def ph_salt(self, ph_salt):
        """Sets the ph_salt of this AgrochemicalCalculatorDetail.


        :param ph_salt: The ph_salt of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if ph_salt is None:
            raise ValueError("Invalid value for `ph_salt`, must not be `None`")  # noqa: E501

        self._ph_salt = ph_salt

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


        :return: The nh4 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._nh4

    @nh4.setter
    def nh4(self, nh4):
        """Sets the nh4 of this AgrochemicalCalculatorDetail.


        :param nh4: The nh4 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if nh4 is None:
            raise ValueError("Invalid value for `nh4`, must not be `None`")  # noqa: E501

        self._nh4 = nh4

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


        :return: The no3 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._no3

    @no3.setter
    def no3(self, no3):
        """Sets the no3 of this AgrochemicalCalculatorDetail.


        :param no3: The no3 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if no3 is None:
            raise ValueError("Invalid value for `no3`, must not be `None`")  # noqa: E501

        self._no3 = no3

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


        :return: The p2o5 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._p2o5

    @p2o5.setter
    def p2o5(self, p2o5):
        """Sets the p2o5 of this AgrochemicalCalculatorDetail.


        :param p2o5: The p2o5 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if p2o5 is None:
            raise ValueError("Invalid value for `p2o5`, must not be `None`")  # noqa: E501

        self._p2o5 = p2o5

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


        :return: The k2o of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._k2o

    @k2o.setter
    def k2o(self, k2o):
        """Sets the k2o of this AgrochemicalCalculatorDetail.


        :param k2o: The k2o of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if k2o is None:
            raise ValueError("Invalid value for `k2o`, must not be `None`")  # noqa: E501

        self._k2o = k2o

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


        :return: The method of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._method

    @method.setter
    def method(self, method):
        """Sets the method of this AgrochemicalCalculatorDetail.


        :param method: The method of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if method is None:
            raise ValueError("Invalid value for `method`, must not be `None`")  # noqa: E501

        self._method = method

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


        :return: The s of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._s

    @s.setter
    def s(self, s):
        """Sets the s of this AgrochemicalCalculatorDetail.


        :param s: The s of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if s is None:
            raise ValueError("Invalid value for `s`, must not be `None`")  # noqa: E501

        self._s = s

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


        :return: The ca of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._ca

    @ca.setter
    def ca(self, ca):
        """Sets the ca of this AgrochemicalCalculatorDetail.


        :param ca: The ca of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if ca is None:
            raise ValueError("Invalid value for `ca`, must not be `None`")  # noqa: E501

        self._ca = ca

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


        :return: The mg of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._mg

    @mg.setter
    def mg(self, mg):
        """Sets the mg of this AgrochemicalCalculatorDetail.


        :param mg: The mg of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if mg is None:
            raise ValueError("Invalid value for `mg`, must not be `None`")  # noqa: E501

        self._mg = mg

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


        :return: The na of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._na

    @na.setter
    def na(self, na):
        """Sets the na of this AgrochemicalCalculatorDetail.


        :param na: The na of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if na is None:
            raise ValueError("Invalid value for `na`, must not be `None`")  # noqa: E501

        self._na = na

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


        :return: The so4 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._so4

    @so4.setter
    def so4(self, so4):
        """Sets the so4 of this AgrochemicalCalculatorDetail.


        :param so4: The so4 of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if so4 is None:
            raise ValueError("Invalid value for `so4`, must not be `None`")  # noqa: E501

        self._so4 = so4

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


        :return: The cl of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._cl

    @cl.setter
    def cl(self, cl):
        """Sets the cl of this AgrochemicalCalculatorDetail.


        :param cl: The cl of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if cl is None:
            raise ValueError("Invalid value for `cl`, must not be `None`")  # noqa: E501

        self._cl = cl

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


        :return: The organic_substances of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._organic_substances

    @organic_substances.setter
    def organic_substances(self, organic_substances):
        """Sets the organic_substances of this AgrochemicalCalculatorDetail.


        :param organic_substances: The organic_substances of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if organic_substances is None:
            raise ValueError("Invalid value for `organic_substances`, must not be `None`")  # noqa: E501

        self._organic_substances = organic_substances

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


        :return: The salt_conductivity of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: float
        """
        return self._salt_conductivity

    @salt_conductivity.setter
    def salt_conductivity(self, salt_conductivity):
        """Sets the salt_conductivity of this AgrochemicalCalculatorDetail.


        :param salt_conductivity: The salt_conductivity of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: float
        """
        if salt_conductivity is None:
            raise ValueError("Invalid value for `salt_conductivity`, must not be `None`")  # noqa: E501

        self._salt_conductivity = salt_conductivity

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


        :return: The ph_water_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._ph_water_interval

    @ph_water_interval.setter
    def ph_water_interval(self, ph_water_interval):
        """Sets the ph_water_interval of this AgrochemicalCalculatorDetail.


        :param ph_water_interval: The ph_water_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if ph_water_interval is None:
            raise ValueError("Invalid value for `ph_water_interval`, must not be `None`")  # noqa: E501

        self._ph_water_interval = ph_water_interval

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


        :return: The ph_salt_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._ph_salt_interval

    @ph_salt_interval.setter
    def ph_salt_interval(self, ph_salt_interval):
        """Sets the ph_salt_interval of this AgrochemicalCalculatorDetail.


        :param ph_salt_interval: The ph_salt_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if ph_salt_interval is None:
            raise ValueError("Invalid value for `ph_salt_interval`, must not be `None`")  # noqa: E501

        self._ph_salt_interval = ph_salt_interval

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


        :return: The nh4_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._nh4_interval

    @nh4_interval.setter
    def nh4_interval(self, nh4_interval):
        """Sets the nh4_interval of this AgrochemicalCalculatorDetail.


        :param nh4_interval: The nh4_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if nh4_interval is None:
            raise ValueError("Invalid value for `nh4_interval`, must not be `None`")  # noqa: E501

        self._nh4_interval = nh4_interval

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


        :return: The no3_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._no3_interval

    @no3_interval.setter
    def no3_interval(self, no3_interval):
        """Sets the no3_interval of this AgrochemicalCalculatorDetail.


        :param no3_interval: The no3_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if no3_interval is None:
            raise ValueError("Invalid value for `no3_interval`, must not be `None`")  # noqa: E501

        self._no3_interval = no3_interval

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


        :return: The p2o5_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._p2o5_interval

    @p2o5_interval.setter
    def p2o5_interval(self, p2o5_interval):
        """Sets the p2o5_interval of this AgrochemicalCalculatorDetail.


        :param p2o5_interval: The p2o5_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if p2o5_interval is None:
            raise ValueError("Invalid value for `p2o5_interval`, must not be `None`")  # noqa: E501

        self._p2o5_interval = p2o5_interval

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


        :return: The k2o_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._k2o_interval

    @k2o_interval.setter
    def k2o_interval(self, k2o_interval):
        """Sets the k2o_interval of this AgrochemicalCalculatorDetail.


        :param k2o_interval: The k2o_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if k2o_interval is None:
            raise ValueError("Invalid value for `k2o_interval`, must not be `None`")  # noqa: E501

        self._k2o_interval = k2o_interval

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


        :return: The s_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._s_interval

    @s_interval.setter
    def s_interval(self, s_interval):
        """Sets the s_interval of this AgrochemicalCalculatorDetail.


        :param s_interval: The s_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if s_interval is None:
            raise ValueError("Invalid value for `s_interval`, must not be `None`")  # noqa: E501

        self._s_interval = s_interval

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


        :return: The ca_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._ca_interval

    @ca_interval.setter
    def ca_interval(self, ca_interval):
        """Sets the ca_interval of this AgrochemicalCalculatorDetail.


        :param ca_interval: The ca_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if ca_interval is None:
            raise ValueError("Invalid value for `ca_interval`, must not be `None`")  # noqa: E501

        self._ca_interval = ca_interval

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


        :return: The mg_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._mg_interval

    @mg_interval.setter
    def mg_interval(self, mg_interval):
        """Sets the mg_interval of this AgrochemicalCalculatorDetail.


        :param mg_interval: The mg_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if mg_interval is None:
            raise ValueError("Invalid value for `mg_interval`, must not be `None`")  # noqa: E501

        self._mg_interval = mg_interval

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


        :return: The na_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._na_interval

    @na_interval.setter
    def na_interval(self, na_interval):
        """Sets the na_interval of this AgrochemicalCalculatorDetail.


        :param na_interval: The na_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if na_interval is None:
            raise ValueError("Invalid value for `na_interval`, must not be `None`")  # noqa: E501

        self._na_interval = na_interval

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


        :return: The so4_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._so4_interval

    @so4_interval.setter
    def so4_interval(self, so4_interval):
        """Sets the so4_interval of this AgrochemicalCalculatorDetail.


        :param so4_interval: The so4_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if so4_interval is None:
            raise ValueError("Invalid value for `so4_interval`, must not be `None`")  # noqa: E501

        self._so4_interval = so4_interval

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


        :return: The cl_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._cl_interval

    @cl_interval.setter
    def cl_interval(self, cl_interval):
        """Sets the cl_interval of this AgrochemicalCalculatorDetail.


        :param cl_interval: The cl_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if cl_interval is None:
            raise ValueError("Invalid value for `cl_interval`, must not be `None`")  # noqa: E501

        self._cl_interval = cl_interval

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


        :return: The organic_substances_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._organic_substances_interval

    @organic_substances_interval.setter
    def organic_substances_interval(self, organic_substances_interval):
        """Sets the organic_substances_interval of this AgrochemicalCalculatorDetail.


        :param organic_substances_interval: The organic_substances_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if organic_substances_interval is None:
            raise ValueError("Invalid value for `organic_substances_interval`, must not be `None`")  # noqa: E501

        self._organic_substances_interval = organic_substances_interval

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


        :return: The salt_conductivity_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._salt_conductivity_interval

    @salt_conductivity_interval.setter
    def salt_conductivity_interval(self, salt_conductivity_interval):
        """Sets the salt_conductivity_interval of this AgrochemicalCalculatorDetail.


        :param salt_conductivity_interval: The salt_conductivity_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if salt_conductivity_interval is None:
            raise ValueError("Invalid value for `salt_conductivity_interval`, must not be `None`")  # noqa: E501

        self._salt_conductivity_interval = salt_conductivity_interval

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


        :return: The compare_ph_water_with_ph_salt_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._compare_ph_water_with_ph_salt_interval

    @compare_ph_water_with_ph_salt_interval.setter
    def compare_ph_water_with_ph_salt_interval(self, compare_ph_water_with_ph_salt_interval):
        """Sets the compare_ph_water_with_ph_salt_interval of this AgrochemicalCalculatorDetail.


        :param compare_ph_water_with_ph_salt_interval: The compare_ph_water_with_ph_salt_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if compare_ph_water_with_ph_salt_interval is None:
            raise ValueError("Invalid value for `compare_ph_water_with_ph_salt_interval`, must not be `None`")  # noqa: E501

        self._compare_ph_water_with_ph_salt_interval = compare_ph_water_with_ph_salt_interval

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


        :return: The compare_no3_with_nh4_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: str
        """
        return self._compare_no3_with_nh4_interval

    @compare_no3_with_nh4_interval.setter
    def compare_no3_with_nh4_interval(self, compare_no3_with_nh4_interval):
        """Sets the compare_no3_with_nh4_interval of this AgrochemicalCalculatorDetail.


        :param compare_no3_with_nh4_interval: The compare_no3_with_nh4_interval of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: str
        """
        if compare_no3_with_nh4_interval is None:
            raise ValueError("Invalid value for `compare_no3_with_nh4_interval`, must not be `None`")  # noqa: E501

        self._compare_no3_with_nh4_interval = compare_no3_with_nh4_interval

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


        :return: The user of this AgrochemicalCalculatorDetail.  # noqa: E501
        :rtype: int
        """
        return self._user

    @user.setter
    def user(self, user):
        """Sets the user of this AgrochemicalCalculatorDetail.


        :param user: The user of this AgrochemicalCalculatorDetail.  # noqa: E501
        :type: int
        """
        if user is None:
            raise ValueError("Invalid value for `user`, must not be `None`")  # noqa: E501

        self._user = user

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

        return self.__dict__ == other.__dict__

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