# coding: utf-8

"""
    Adobe Experience Manager OSGI config (AEM) API

    Swagger AEM OSGI is an OpenAPI specification for Adobe Experience Manager (AEM) OSGI Configurations API  # noqa: E501

    OpenAPI spec version: 1.0.0-pre.0
    Contact: opensource@shinesolutions.com
    Generated by: https://openapi-generator.tech
"""


import pprint
import re  # noqa: F401

import six


class ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties(object):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_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.
    """
    openapi_types = {
        'preserve_hierarchy_nodes': 'ConfigNodePropertyBoolean',
        'ignore_versioning': 'ConfigNodePropertyBoolean',
        'import_acl': 'ConfigNodePropertyBoolean',
        'save_threshold': 'ConfigNodePropertyInteger',
        'preserve_user_paths': 'ConfigNodePropertyBoolean',
        'preserve_uuid': 'ConfigNodePropertyBoolean',
        'preserve_uuid_nodetypes': 'ConfigNodePropertyArray',
        'preserve_uuid_subtrees': 'ConfigNodePropertyArray',
        'auto_commit': 'ConfigNodePropertyBoolean'
    }

    attribute_map = {
        'preserve_hierarchy_nodes': 'preserve.hierarchy.nodes',
        'ignore_versioning': 'ignore.versioning',
        'import_acl': 'import.acl',
        'save_threshold': 'save.threshold',
        'preserve_user_paths': 'preserve.user.paths',
        'preserve_uuid': 'preserve.uuid',
        'preserve_uuid_nodetypes': 'preserve.uuid.nodetypes',
        'preserve_uuid_subtrees': 'preserve.uuid.subtrees',
        'auto_commit': 'auto.commit'
    }

    def __init__(self, preserve_hierarchy_nodes=None, ignore_versioning=None, import_acl=None, save_threshold=None, preserve_user_paths=None, preserve_uuid=None, preserve_uuid_nodetypes=None, preserve_uuid_subtrees=None, auto_commit=None):  # noqa: E501
        """ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties - a model defined in OpenAPI"""  # noqa: E501

        self._preserve_hierarchy_nodes = None
        self._ignore_versioning = None
        self._import_acl = None
        self._save_threshold = None
        self._preserve_user_paths = None
        self._preserve_uuid = None
        self._preserve_uuid_nodetypes = None
        self._preserve_uuid_subtrees = None
        self._auto_commit = None
        self.discriminator = None

        if preserve_hierarchy_nodes is not None:
            self.preserve_hierarchy_nodes = preserve_hierarchy_nodes
        if ignore_versioning is not None:
            self.ignore_versioning = ignore_versioning
        if import_acl is not None:
            self.import_acl = import_acl
        if save_threshold is not None:
            self.save_threshold = save_threshold
        if preserve_user_paths is not None:
            self.preserve_user_paths = preserve_user_paths
        if preserve_uuid is not None:
            self.preserve_uuid = preserve_uuid
        if preserve_uuid_nodetypes is not None:
            self.preserve_uuid_nodetypes = preserve_uuid_nodetypes
        if preserve_uuid_subtrees is not None:
            self.preserve_uuid_subtrees = preserve_uuid_subtrees
        if auto_commit is not None:
            self.auto_commit = auto_commit

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


        :return: The preserve_hierarchy_nodes of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._preserve_hierarchy_nodes

    @preserve_hierarchy_nodes.setter
    def preserve_hierarchy_nodes(self, preserve_hierarchy_nodes):
        """Sets the preserve_hierarchy_nodes of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param preserve_hierarchy_nodes: The preserve_hierarchy_nodes of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._preserve_hierarchy_nodes = preserve_hierarchy_nodes

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


        :return: The ignore_versioning of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._ignore_versioning

    @ignore_versioning.setter
    def ignore_versioning(self, ignore_versioning):
        """Sets the ignore_versioning of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param ignore_versioning: The ignore_versioning of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._ignore_versioning = ignore_versioning

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


        :return: The import_acl of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._import_acl

    @import_acl.setter
    def import_acl(self, import_acl):
        """Sets the import_acl of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param import_acl: The import_acl of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._import_acl = import_acl

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


        :return: The save_threshold of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._save_threshold

    @save_threshold.setter
    def save_threshold(self, save_threshold):
        """Sets the save_threshold of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param save_threshold: The save_threshold of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._save_threshold = save_threshold

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


        :return: The preserve_user_paths of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._preserve_user_paths

    @preserve_user_paths.setter
    def preserve_user_paths(self, preserve_user_paths):
        """Sets the preserve_user_paths of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param preserve_user_paths: The preserve_user_paths of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._preserve_user_paths = preserve_user_paths

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


        :return: The preserve_uuid of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._preserve_uuid

    @preserve_uuid.setter
    def preserve_uuid(self, preserve_uuid):
        """Sets the preserve_uuid of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param preserve_uuid: The preserve_uuid of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._preserve_uuid = preserve_uuid

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


        :return: The preserve_uuid_nodetypes of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyArray
        """
        return self._preserve_uuid_nodetypes

    @preserve_uuid_nodetypes.setter
    def preserve_uuid_nodetypes(self, preserve_uuid_nodetypes):
        """Sets the preserve_uuid_nodetypes of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param preserve_uuid_nodetypes: The preserve_uuid_nodetypes of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyArray
        """

        self._preserve_uuid_nodetypes = preserve_uuid_nodetypes

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


        :return: The preserve_uuid_subtrees of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyArray
        """
        return self._preserve_uuid_subtrees

    @preserve_uuid_subtrees.setter
    def preserve_uuid_subtrees(self, preserve_uuid_subtrees):
        """Sets the preserve_uuid_subtrees of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param preserve_uuid_subtrees: The preserve_uuid_subtrees of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyArray
        """

        self._preserve_uuid_subtrees = preserve_uuid_subtrees

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


        :return: The auto_commit of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._auto_commit

    @auto_commit.setter
    def auto_commit(self, auto_commit):
        """Sets the auto_commit of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.


        :param auto_commit: The auto_commit of this ComDayCqReplicationImplContentDurboDurboImportConfigurationProvProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._auto_commit = auto_commit

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.openapi_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

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

        return self.__dict__ == other.__dict__

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