# coding: utf-8

"""
    applicants-api

    This API collection enables seamless operations by facilitating the retrieval of essential applicant details, updating and managing hiring statuses for candidates, assigning multiple candidates as leads for specific job roles, and obtaining detailed activity logs associated with applicants.  # noqa: E501

    OpenAPI spec version: 1.0.0
    
    Generated by: phenom
"""

import pprint
import re  # noqa: F401

import six

class JobActivitiesTrafficSourceList(object):
    """
    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 = {
        'source_short_name': 'str',
        'source_fullname': 'str',
        'referral_type': 'str',
        'created_date': 'str',
        'raw_url': 'str'
    }

    attribute_map = {
        'source_short_name': 'sourceShortName',
        'source_fullname': 'sourceFullname',
        'referral_type': 'referralType',
        'created_date': 'createdDate',
        'raw_url': 'rawUrl'
    }

    def __init__(self, source_short_name=None, source_fullname=None, referral_type=None, created_date=None, raw_url=None):  # noqa: E501
        """JobActivitiesTrafficSourceList - a model defined in Swagger"""  # noqa: E501
        self._source_short_name = None
        self._source_fullname = None
        self._referral_type = None
        self._created_date = None
        self._raw_url = None
        self.discriminator = None
        if source_short_name is not None:
            self.source_short_name = source_short_name
        if source_fullname is not None:
            self.source_fullname = source_fullname
        if referral_type is not None:
            self.referral_type = referral_type
        if created_date is not None:
            self.created_date = created_date
        if raw_url is not None:
            self.raw_url = raw_url

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

        Short name of the traffic source.  # noqa: E501

        :return: The source_short_name of this JobActivitiesTrafficSourceList.  # noqa: E501
        :rtype: str
        """
        return self._source_short_name

    @source_short_name.setter
    def source_short_name(self, source_short_name):
        """Sets the source_short_name of this JobActivitiesTrafficSourceList.

        Short name of the traffic source.  # noqa: E501

        :param source_short_name: The source_short_name of this JobActivitiesTrafficSourceList.  # noqa: E501
        :type: str
        """

        self._source_short_name = source_short_name

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

        Full name of the traffic source.  # noqa: E501

        :return: The source_fullname of this JobActivitiesTrafficSourceList.  # noqa: E501
        :rtype: str
        """
        return self._source_fullname

    @source_fullname.setter
    def source_fullname(self, source_fullname):
        """Sets the source_fullname of this JobActivitiesTrafficSourceList.

        Full name of the traffic source.  # noqa: E501

        :param source_fullname: The source_fullname of this JobActivitiesTrafficSourceList.  # noqa: E501
        :type: str
        """

        self._source_fullname = source_fullname

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

        Type of referral from the traffic source.  # noqa: E501

        :return: The referral_type of this JobActivitiesTrafficSourceList.  # noqa: E501
        :rtype: str
        """
        return self._referral_type

    @referral_type.setter
    def referral_type(self, referral_type):
        """Sets the referral_type of this JobActivitiesTrafficSourceList.

        Type of referral from the traffic source.  # noqa: E501

        :param referral_type: The referral_type of this JobActivitiesTrafficSourceList.  # noqa: E501
        :type: str
        """

        self._referral_type = referral_type

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

        Date when the traffic source was created.  # noqa: E501

        :return: The created_date of this JobActivitiesTrafficSourceList.  # noqa: E501
        :rtype: str
        """
        return self._created_date

    @created_date.setter
    def created_date(self, created_date):
        """Sets the created_date of this JobActivitiesTrafficSourceList.

        Date when the traffic source was created.  # noqa: E501

        :param created_date: The created_date of this JobActivitiesTrafficSourceList.  # noqa: E501
        :type: str
        """

        self._created_date = created_date

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

        Raw URL associated with the traffic source.  # noqa: E501

        :return: The raw_url of this JobActivitiesTrafficSourceList.  # noqa: E501
        :rtype: str
        """
        return self._raw_url

    @raw_url.setter
    def raw_url(self, raw_url):
        """Sets the raw_url of this JobActivitiesTrafficSourceList.

        Raw URL associated with the traffic source.  # noqa: E501

        :param raw_url: The raw_url of this JobActivitiesTrafficSourceList.  # noqa: E501
        :type: str
        """

        self._raw_url = raw_url

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

        return self.__dict__ == other.__dict__

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