# coding: utf-8

"""
    Browse API

    The Browse API has the following resources:<ul><li><b>item_summary:</b><br>Allows shoppers to search for specific items by keyword, GTIN, category, charity, product, image, or item aspects and refine the results by using filters, such as aspects, compatibility, and fields values, or UI parameters.</li><li><b>item:</b><br>Allows shoppers to retrieve the details of a specific item or all items in an item group, which is an item with variations such as color and size and check if a product is compatible with the specified item, such as if a specific car is compatible with a specific part.<br><br>This resource also provides a bridge between the eBay legacy APIs, such as the <a href=\"/api-docs/user-guides/static/finding-user-guide-landing.html\" target=\"_blank\">Finding</b>, and the RESTful APIs, which use different formats for the item IDs.</li></ul>The <b>item_summary</b>, <b>search_by_image</b>, and <b>item</b> resource calls require an <a href=\"/api-docs/static/oauth-client-credentials-grant.html\" target=\"_blank\">Application access token</a>.  # noqa: E501

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

import pprint
import re  # noqa: F401

import six

class HazardousMaterialsLabels(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 = {
        'additional_information': 'str',
        'pictograms': 'list[HazardPictogram]',
        'signal_word': 'str',
        'signal_word_id': 'str',
        'statements': 'list[HazardStatement]'
    }

    attribute_map = {
        'additional_information': 'additionalInformation',
        'pictograms': 'pictograms',
        'signal_word': 'signalWord',
        'signal_word_id': 'signalWordId',
        'statements': 'statements'
    }

    def __init__(self, additional_information=None, pictograms=None, signal_word=None, signal_word_id=None, statements=None):  # noqa: E501
        """HazardousMaterialsLabels - a model defined in Swagger"""  # noqa: E501
        self._additional_information = None
        self._pictograms = None
        self._signal_word = None
        self._signal_word_id = None
        self._statements = None
        self.discriminator = None
        if additional_information is not None:
            self.additional_information = additional_information
        if pictograms is not None:
            self.pictograms = pictograms
        if signal_word is not None:
            self.signal_word = signal_word
        if signal_word_id is not None:
            self.signal_word_id = signal_word_id
        if statements is not None:
            self.statements = statements

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

        Additional information about the hazardous materials labels.  # noqa: E501

        :return: The additional_information of this HazardousMaterialsLabels.  # noqa: E501
        :rtype: str
        """
        return self._additional_information

    @additional_information.setter
    def additional_information(self, additional_information):
        """Sets the additional_information of this HazardousMaterialsLabels.

        Additional information about the hazardous materials labels.  # noqa: E501

        :param additional_information: The additional_information of this HazardousMaterialsLabels.  # noqa: E501
        :type: str
        """

        self._additional_information = additional_information

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

        An array of hazard pictograms that apply to the item.  # noqa: E501

        :return: The pictograms of this HazardousMaterialsLabels.  # noqa: E501
        :rtype: list[HazardPictogram]
        """
        return self._pictograms

    @pictograms.setter
    def pictograms(self, pictograms):
        """Sets the pictograms of this HazardousMaterialsLabels.

        An array of hazard pictograms that apply to the item.  # noqa: E501

        :param pictograms: The pictograms of this HazardousMaterialsLabels.  # noqa: E501
        :type: list[HazardPictogram]
        """

        self._pictograms = pictograms

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

        The signal word for the hazardous materials label (such as Danger or Warning).  # noqa: E501

        :return: The signal_word of this HazardousMaterialsLabels.  # noqa: E501
        :rtype: str
        """
        return self._signal_word

    @signal_word.setter
    def signal_word(self, signal_word):
        """Sets the signal_word of this HazardousMaterialsLabels.

        The signal word for the hazardous materials label (such as Danger or Warning).  # noqa: E501

        :param signal_word: The signal_word of this HazardousMaterialsLabels.  # noqa: E501
        :type: str
        """

        self._signal_word = signal_word

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

        The ID of the signal word for the hazardous materials label.  # noqa: E501

        :return: The signal_word_id of this HazardousMaterialsLabels.  # noqa: E501
        :rtype: str
        """
        return self._signal_word_id

    @signal_word_id.setter
    def signal_word_id(self, signal_word_id):
        """Sets the signal_word_id of this HazardousMaterialsLabels.

        The ID of the signal word for the hazardous materials label.  # noqa: E501

        :param signal_word_id: The signal_word_id of this HazardousMaterialsLabels.  # noqa: E501
        :type: str
        """

        self._signal_word_id = signal_word_id

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

        An array of hazard statements for the item.  # noqa: E501

        :return: The statements of this HazardousMaterialsLabels.  # noqa: E501
        :rtype: list[HazardStatement]
        """
        return self._statements

    @statements.setter
    def statements(self, statements):
        """Sets the statements of this HazardousMaterialsLabels.

        An array of hazard statements for the item.  # noqa: E501

        :param statements: The statements of this HazardousMaterialsLabels.  # noqa: E501
        :type: list[HazardStatement]
        """

        self._statements = statements

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

        return self.__dict__ == other.__dict__

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