# coding: utf-8

"""
    Memsource REST API

    Welcome to Memsource's API documentation. To view our legacy APIs please [visit our documentation](https://wiki.memsource.com/wiki/Memsource_API) and for more information about our new APIs, [visit our blog](https://www.memsource.com/blog/2017/10/24/introducing-rest-apis-qa-with-the-memsource-api-team/).    If you have any questions, please contact [Memsource Support](<mailto:support@memsource.com>).  # noqa: E501

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


import pprint
import re  # noqa: F401

import six


class IdmlSettingsDto(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 = {
        'extract_notes': 'bool',
        'simplify_codes': 'bool',
        'extract_master_spreads': 'bool',
        'extract_locked_layers': 'bool',
        'extract_invisible_layers': 'bool',
        'extract_hidden_conditional_text': 'bool',
        'extract_hyperlinks': 'bool',
        'keep_kerning': 'bool',
        'keep_tracking': 'bool',
        'target_font': 'str',
        'replace_font': 'bool',
        'remove_xml_elements': 'bool',
        'tag_regexp': 'str',
        'extract_variables': 'bool'
    }

    attribute_map = {
        'extract_notes': 'extractNotes',
        'simplify_codes': 'simplifyCodes',
        'extract_master_spreads': 'extractMasterSpreads',
        'extract_locked_layers': 'extractLockedLayers',
        'extract_invisible_layers': 'extractInvisibleLayers',
        'extract_hidden_conditional_text': 'extractHiddenConditionalText',
        'extract_hyperlinks': 'extractHyperlinks',
        'keep_kerning': 'keepKerning',
        'keep_tracking': 'keepTracking',
        'target_font': 'targetFont',
        'replace_font': 'replaceFont',
        'remove_xml_elements': 'removeXmlElements',
        'tag_regexp': 'tagRegexp',
        'extract_variables': 'extractVariables'
    }

    def __init__(self, extract_notes=None, simplify_codes=None, extract_master_spreads=None, extract_locked_layers=None, extract_invisible_layers=None, extract_hidden_conditional_text=None, extract_hyperlinks=None, keep_kerning=None, keep_tracking=None, target_font=None, replace_font=None, remove_xml_elements=None, tag_regexp=None, extract_variables=None):  # noqa: E501
        """IdmlSettingsDto - a model defined in Swagger"""  # noqa: E501

        self._extract_notes = None
        self._simplify_codes = None
        self._extract_master_spreads = None
        self._extract_locked_layers = None
        self._extract_invisible_layers = None
        self._extract_hidden_conditional_text = None
        self._extract_hyperlinks = None
        self._keep_kerning = None
        self._keep_tracking = None
        self._target_font = None
        self._replace_font = None
        self._remove_xml_elements = None
        self._tag_regexp = None
        self._extract_variables = None
        self.discriminator = None

        if extract_notes is not None:
            self.extract_notes = extract_notes
        if simplify_codes is not None:
            self.simplify_codes = simplify_codes
        if extract_master_spreads is not None:
            self.extract_master_spreads = extract_master_spreads
        if extract_locked_layers is not None:
            self.extract_locked_layers = extract_locked_layers
        if extract_invisible_layers is not None:
            self.extract_invisible_layers = extract_invisible_layers
        if extract_hidden_conditional_text is not None:
            self.extract_hidden_conditional_text = extract_hidden_conditional_text
        if extract_hyperlinks is not None:
            self.extract_hyperlinks = extract_hyperlinks
        if keep_kerning is not None:
            self.keep_kerning = keep_kerning
        if keep_tracking is not None:
            self.keep_tracking = keep_tracking
        if target_font is not None:
            self.target_font = target_font
        if replace_font is not None:
            self.replace_font = replace_font
        if remove_xml_elements is not None:
            self.remove_xml_elements = remove_xml_elements
        if tag_regexp is not None:
            self.tag_regexp = tag_regexp
        if extract_variables is not None:
            self.extract_variables = extract_variables

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

        Default: false  # noqa: E501

        :return: The extract_notes of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_notes

    @extract_notes.setter
    def extract_notes(self, extract_notes):
        """Sets the extract_notes of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param extract_notes: The extract_notes of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_notes = extract_notes

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

        Default: true  # noqa: E501

        :return: The simplify_codes of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._simplify_codes

    @simplify_codes.setter
    def simplify_codes(self, simplify_codes):
        """Sets the simplify_codes of this IdmlSettingsDto.

        Default: true  # noqa: E501

        :param simplify_codes: The simplify_codes of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._simplify_codes = simplify_codes

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

        Default: true  # noqa: E501

        :return: The extract_master_spreads of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_master_spreads

    @extract_master_spreads.setter
    def extract_master_spreads(self, extract_master_spreads):
        """Sets the extract_master_spreads of this IdmlSettingsDto.

        Default: true  # noqa: E501

        :param extract_master_spreads: The extract_master_spreads of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_master_spreads = extract_master_spreads

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

        Default: true  # noqa: E501

        :return: The extract_locked_layers of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_locked_layers

    @extract_locked_layers.setter
    def extract_locked_layers(self, extract_locked_layers):
        """Sets the extract_locked_layers of this IdmlSettingsDto.

        Default: true  # noqa: E501

        :param extract_locked_layers: The extract_locked_layers of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_locked_layers = extract_locked_layers

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

        Default: false  # noqa: E501

        :return: The extract_invisible_layers of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_invisible_layers

    @extract_invisible_layers.setter
    def extract_invisible_layers(self, extract_invisible_layers):
        """Sets the extract_invisible_layers of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param extract_invisible_layers: The extract_invisible_layers of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_invisible_layers = extract_invisible_layers

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

        Default: false  # noqa: E501

        :return: The extract_hidden_conditional_text of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_hidden_conditional_text

    @extract_hidden_conditional_text.setter
    def extract_hidden_conditional_text(self, extract_hidden_conditional_text):
        """Sets the extract_hidden_conditional_text of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param extract_hidden_conditional_text: The extract_hidden_conditional_text of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_hidden_conditional_text = extract_hidden_conditional_text

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

        Default: false  # noqa: E501

        :return: The extract_hyperlinks of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_hyperlinks

    @extract_hyperlinks.setter
    def extract_hyperlinks(self, extract_hyperlinks):
        """Sets the extract_hyperlinks of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param extract_hyperlinks: The extract_hyperlinks of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_hyperlinks = extract_hyperlinks

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

        Default: false  # noqa: E501

        :return: The keep_kerning of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._keep_kerning

    @keep_kerning.setter
    def keep_kerning(self, keep_kerning):
        """Sets the keep_kerning of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param keep_kerning: The keep_kerning of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._keep_kerning = keep_kerning

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

        Default: false  # noqa: E501

        :return: The keep_tracking of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._keep_tracking

    @keep_tracking.setter
    def keep_tracking(self, keep_tracking):
        """Sets the keep_tracking of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param keep_tracking: The keep_tracking of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._keep_tracking = keep_tracking

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


        :return: The target_font of this IdmlSettingsDto.  # noqa: E501
        :rtype: str
        """
        return self._target_font

    @target_font.setter
    def target_font(self, target_font):
        """Sets the target_font of this IdmlSettingsDto.


        :param target_font: The target_font of this IdmlSettingsDto.  # noqa: E501
        :type: str
        """

        self._target_font = target_font

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

        Default: true  # noqa: E501

        :return: The replace_font of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._replace_font

    @replace_font.setter
    def replace_font(self, replace_font):
        """Sets the replace_font of this IdmlSettingsDto.

        Default: true  # noqa: E501

        :param replace_font: The replace_font of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._replace_font = replace_font

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

        Default: false  # noqa: E501

        :return: The remove_xml_elements of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._remove_xml_elements

    @remove_xml_elements.setter
    def remove_xml_elements(self, remove_xml_elements):
        """Sets the remove_xml_elements of this IdmlSettingsDto.

        Default: false  # noqa: E501

        :param remove_xml_elements: The remove_xml_elements of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._remove_xml_elements = remove_xml_elements

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


        :return: The tag_regexp of this IdmlSettingsDto.  # noqa: E501
        :rtype: str
        """
        return self._tag_regexp

    @tag_regexp.setter
    def tag_regexp(self, tag_regexp):
        """Sets the tag_regexp of this IdmlSettingsDto.


        :param tag_regexp: The tag_regexp of this IdmlSettingsDto.  # noqa: E501
        :type: str
        """

        self._tag_regexp = tag_regexp

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

        Default: true  # noqa: E501

        :return: The extract_variables of this IdmlSettingsDto.  # noqa: E501
        :rtype: bool
        """
        return self._extract_variables

    @extract_variables.setter
    def extract_variables(self, extract_variables):
        """Sets the extract_variables of this IdmlSettingsDto.

        Default: true  # noqa: E501

        :param extract_variables: The extract_variables of this IdmlSettingsDto.  # noqa: E501
        :type: bool
        """

        self._extract_variables = extract_variables

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

        return self.__dict__ == other.__dict__

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