# 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 OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties(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 = {
        'disabled': 'ConfigNodePropertyBoolean',
        'debug': 'ConfigNodePropertyBoolean',
        'local_index_dir': 'ConfigNodePropertyString',
        'enable_open_index_async': 'ConfigNodePropertyBoolean',
        'thread_pool_size': 'ConfigNodePropertyInteger',
        'prefetch_index_files': 'ConfigNodePropertyBoolean',
        'extracted_text_cache_size_in_mb': 'ConfigNodePropertyInteger',
        'extracted_text_cache_expiry_in_secs': 'ConfigNodePropertyInteger',
        'always_use_pre_extracted_cache': 'ConfigNodePropertyBoolean',
        'boolean_clause_limit': 'ConfigNodePropertyInteger',
        'enable_hybrid_indexing': 'ConfigNodePropertyBoolean',
        'hybrid_queue_size': 'ConfigNodePropertyInteger',
        'disable_stored_index_definition': 'ConfigNodePropertyBoolean',
        'deleted_blobs_collection_enabled': 'ConfigNodePropertyBoolean',
        'prop_index_cleaner_interval_in_secs': 'ConfigNodePropertyInteger',
        'enable_single_blob_index_files': 'ConfigNodePropertyBoolean'
    }

    attribute_map = {
        'disabled': 'disabled',
        'debug': 'debug',
        'local_index_dir': 'localIndexDir',
        'enable_open_index_async': 'enableOpenIndexAsync',
        'thread_pool_size': 'threadPoolSize',
        'prefetch_index_files': 'prefetchIndexFiles',
        'extracted_text_cache_size_in_mb': 'extractedTextCacheSizeInMB',
        'extracted_text_cache_expiry_in_secs': 'extractedTextCacheExpiryInSecs',
        'always_use_pre_extracted_cache': 'alwaysUsePreExtractedCache',
        'boolean_clause_limit': 'booleanClauseLimit',
        'enable_hybrid_indexing': 'enableHybridIndexing',
        'hybrid_queue_size': 'hybridQueueSize',
        'disable_stored_index_definition': 'disableStoredIndexDefinition',
        'deleted_blobs_collection_enabled': 'deletedBlobsCollectionEnabled',
        'prop_index_cleaner_interval_in_secs': 'propIndexCleanerIntervalInSecs',
        'enable_single_blob_index_files': 'enableSingleBlobIndexFiles'
    }

    def __init__(self, disabled=None, debug=None, local_index_dir=None, enable_open_index_async=None, thread_pool_size=None, prefetch_index_files=None, extracted_text_cache_size_in_mb=None, extracted_text_cache_expiry_in_secs=None, always_use_pre_extracted_cache=None, boolean_clause_limit=None, enable_hybrid_indexing=None, hybrid_queue_size=None, disable_stored_index_definition=None, deleted_blobs_collection_enabled=None, prop_index_cleaner_interval_in_secs=None, enable_single_blob_index_files=None):  # noqa: E501
        """OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties - a model defined in OpenAPI"""  # noqa: E501

        self._disabled = None
        self._debug = None
        self._local_index_dir = None
        self._enable_open_index_async = None
        self._thread_pool_size = None
        self._prefetch_index_files = None
        self._extracted_text_cache_size_in_mb = None
        self._extracted_text_cache_expiry_in_secs = None
        self._always_use_pre_extracted_cache = None
        self._boolean_clause_limit = None
        self._enable_hybrid_indexing = None
        self._hybrid_queue_size = None
        self._disable_stored_index_definition = None
        self._deleted_blobs_collection_enabled = None
        self._prop_index_cleaner_interval_in_secs = None
        self._enable_single_blob_index_files = None
        self.discriminator = None

        if disabled is not None:
            self.disabled = disabled
        if debug is not None:
            self.debug = debug
        if local_index_dir is not None:
            self.local_index_dir = local_index_dir
        if enable_open_index_async is not None:
            self.enable_open_index_async = enable_open_index_async
        if thread_pool_size is not None:
            self.thread_pool_size = thread_pool_size
        if prefetch_index_files is not None:
            self.prefetch_index_files = prefetch_index_files
        if extracted_text_cache_size_in_mb is not None:
            self.extracted_text_cache_size_in_mb = extracted_text_cache_size_in_mb
        if extracted_text_cache_expiry_in_secs is not None:
            self.extracted_text_cache_expiry_in_secs = extracted_text_cache_expiry_in_secs
        if always_use_pre_extracted_cache is not None:
            self.always_use_pre_extracted_cache = always_use_pre_extracted_cache
        if boolean_clause_limit is not None:
            self.boolean_clause_limit = boolean_clause_limit
        if enable_hybrid_indexing is not None:
            self.enable_hybrid_indexing = enable_hybrid_indexing
        if hybrid_queue_size is not None:
            self.hybrid_queue_size = hybrid_queue_size
        if disable_stored_index_definition is not None:
            self.disable_stored_index_definition = disable_stored_index_definition
        if deleted_blobs_collection_enabled is not None:
            self.deleted_blobs_collection_enabled = deleted_blobs_collection_enabled
        if prop_index_cleaner_interval_in_secs is not None:
            self.prop_index_cleaner_interval_in_secs = prop_index_cleaner_interval_in_secs
        if enable_single_blob_index_files is not None:
            self.enable_single_blob_index_files = enable_single_blob_index_files

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


        :return: The disabled of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._disabled

    @disabled.setter
    def disabled(self, disabled):
        """Sets the disabled of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param disabled: The disabled of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._disabled = disabled

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


        :return: The debug of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._debug

    @debug.setter
    def debug(self, debug):
        """Sets the debug of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param debug: The debug of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._debug = debug

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


        :return: The local_index_dir of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._local_index_dir

    @local_index_dir.setter
    def local_index_dir(self, local_index_dir):
        """Sets the local_index_dir of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param local_index_dir: The local_index_dir of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._local_index_dir = local_index_dir

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


        :return: The enable_open_index_async of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._enable_open_index_async

    @enable_open_index_async.setter
    def enable_open_index_async(self, enable_open_index_async):
        """Sets the enable_open_index_async of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param enable_open_index_async: The enable_open_index_async of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._enable_open_index_async = enable_open_index_async

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


        :return: The thread_pool_size of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._thread_pool_size

    @thread_pool_size.setter
    def thread_pool_size(self, thread_pool_size):
        """Sets the thread_pool_size of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param thread_pool_size: The thread_pool_size of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._thread_pool_size = thread_pool_size

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


        :return: The prefetch_index_files of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._prefetch_index_files

    @prefetch_index_files.setter
    def prefetch_index_files(self, prefetch_index_files):
        """Sets the prefetch_index_files of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param prefetch_index_files: The prefetch_index_files of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._prefetch_index_files = prefetch_index_files

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


        :return: The extracted_text_cache_size_in_mb of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._extracted_text_cache_size_in_mb

    @extracted_text_cache_size_in_mb.setter
    def extracted_text_cache_size_in_mb(self, extracted_text_cache_size_in_mb):
        """Sets the extracted_text_cache_size_in_mb of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param extracted_text_cache_size_in_mb: The extracted_text_cache_size_in_mb of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._extracted_text_cache_size_in_mb = extracted_text_cache_size_in_mb

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


        :return: The extracted_text_cache_expiry_in_secs of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._extracted_text_cache_expiry_in_secs

    @extracted_text_cache_expiry_in_secs.setter
    def extracted_text_cache_expiry_in_secs(self, extracted_text_cache_expiry_in_secs):
        """Sets the extracted_text_cache_expiry_in_secs of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param extracted_text_cache_expiry_in_secs: The extracted_text_cache_expiry_in_secs of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._extracted_text_cache_expiry_in_secs = extracted_text_cache_expiry_in_secs

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


        :return: The always_use_pre_extracted_cache of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._always_use_pre_extracted_cache

    @always_use_pre_extracted_cache.setter
    def always_use_pre_extracted_cache(self, always_use_pre_extracted_cache):
        """Sets the always_use_pre_extracted_cache of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param always_use_pre_extracted_cache: The always_use_pre_extracted_cache of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._always_use_pre_extracted_cache = always_use_pre_extracted_cache

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


        :return: The boolean_clause_limit of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._boolean_clause_limit

    @boolean_clause_limit.setter
    def boolean_clause_limit(self, boolean_clause_limit):
        """Sets the boolean_clause_limit of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param boolean_clause_limit: The boolean_clause_limit of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._boolean_clause_limit = boolean_clause_limit

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


        :return: The enable_hybrid_indexing of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._enable_hybrid_indexing

    @enable_hybrid_indexing.setter
    def enable_hybrid_indexing(self, enable_hybrid_indexing):
        """Sets the enable_hybrid_indexing of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param enable_hybrid_indexing: The enable_hybrid_indexing of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._enable_hybrid_indexing = enable_hybrid_indexing

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


        :return: The hybrid_queue_size of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._hybrid_queue_size

    @hybrid_queue_size.setter
    def hybrid_queue_size(self, hybrid_queue_size):
        """Sets the hybrid_queue_size of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param hybrid_queue_size: The hybrid_queue_size of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._hybrid_queue_size = hybrid_queue_size

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


        :return: The disable_stored_index_definition of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._disable_stored_index_definition

    @disable_stored_index_definition.setter
    def disable_stored_index_definition(self, disable_stored_index_definition):
        """Sets the disable_stored_index_definition of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param disable_stored_index_definition: The disable_stored_index_definition of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._disable_stored_index_definition = disable_stored_index_definition

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


        :return: The deleted_blobs_collection_enabled of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._deleted_blobs_collection_enabled

    @deleted_blobs_collection_enabled.setter
    def deleted_blobs_collection_enabled(self, deleted_blobs_collection_enabled):
        """Sets the deleted_blobs_collection_enabled of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param deleted_blobs_collection_enabled: The deleted_blobs_collection_enabled of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._deleted_blobs_collection_enabled = deleted_blobs_collection_enabled

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


        :return: The prop_index_cleaner_interval_in_secs of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._prop_index_cleaner_interval_in_secs

    @prop_index_cleaner_interval_in_secs.setter
    def prop_index_cleaner_interval_in_secs(self, prop_index_cleaner_interval_in_secs):
        """Sets the prop_index_cleaner_interval_in_secs of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param prop_index_cleaner_interval_in_secs: The prop_index_cleaner_interval_in_secs of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._prop_index_cleaner_interval_in_secs = prop_index_cleaner_interval_in_secs

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


        :return: The enable_single_blob_index_files of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._enable_single_blob_index_files

    @enable_single_blob_index_files.setter
    def enable_single_blob_index_files(self, enable_single_blob_index_files):
        """Sets the enable_single_blob_index_files of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.


        :param enable_single_blob_index_files: The enable_single_blob_index_files of this OrgApacheJackrabbitOakPluginsIndexLuceneLuceneIndexProviderServProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._enable_single_blob_index_files = enable_single_blob_index_files

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

        return self.__dict__ == other.__dict__

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