# 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 OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties(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 = {
        'jasper_compiler_target_vm': 'ConfigNodePropertyString',
        'jasper_compiler_source_vm': 'ConfigNodePropertyString',
        'jasper_classdebuginfo': 'ConfigNodePropertyBoolean',
        'jasper_enable_pooling': 'ConfigNodePropertyBoolean',
        'jasper_ie_class_id': 'ConfigNodePropertyString',
        'jasper_gen_string_as_char_array': 'ConfigNodePropertyBoolean',
        'jasper_keepgenerated': 'ConfigNodePropertyBoolean',
        'jasper_mappedfile': 'ConfigNodePropertyBoolean',
        'jasper_trim_spaces': 'ConfigNodePropertyBoolean',
        'jasper_display_source_fragments': 'ConfigNodePropertyBoolean',
        'default_is_session': 'ConfigNodePropertyBoolean'
    }

    attribute_map = {
        'jasper_compiler_target_vm': 'jasper.compilerTargetVM',
        'jasper_compiler_source_vm': 'jasper.compilerSourceVM',
        'jasper_classdebuginfo': 'jasper.classdebuginfo',
        'jasper_enable_pooling': 'jasper.enablePooling',
        'jasper_ie_class_id': 'jasper.ieClassId',
        'jasper_gen_string_as_char_array': 'jasper.genStringAsCharArray',
        'jasper_keepgenerated': 'jasper.keepgenerated',
        'jasper_mappedfile': 'jasper.mappedfile',
        'jasper_trim_spaces': 'jasper.trimSpaces',
        'jasper_display_source_fragments': 'jasper.displaySourceFragments',
        'default_is_session': 'default.is.session'
    }

    def __init__(self, jasper_compiler_target_vm=None, jasper_compiler_source_vm=None, jasper_classdebuginfo=None, jasper_enable_pooling=None, jasper_ie_class_id=None, jasper_gen_string_as_char_array=None, jasper_keepgenerated=None, jasper_mappedfile=None, jasper_trim_spaces=None, jasper_display_source_fragments=None, default_is_session=None):  # noqa: E501
        """OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties - a model defined in OpenAPI"""  # noqa: E501

        self._jasper_compiler_target_vm = None
        self._jasper_compiler_source_vm = None
        self._jasper_classdebuginfo = None
        self._jasper_enable_pooling = None
        self._jasper_ie_class_id = None
        self._jasper_gen_string_as_char_array = None
        self._jasper_keepgenerated = None
        self._jasper_mappedfile = None
        self._jasper_trim_spaces = None
        self._jasper_display_source_fragments = None
        self._default_is_session = None
        self.discriminator = None

        if jasper_compiler_target_vm is not None:
            self.jasper_compiler_target_vm = jasper_compiler_target_vm
        if jasper_compiler_source_vm is not None:
            self.jasper_compiler_source_vm = jasper_compiler_source_vm
        if jasper_classdebuginfo is not None:
            self.jasper_classdebuginfo = jasper_classdebuginfo
        if jasper_enable_pooling is not None:
            self.jasper_enable_pooling = jasper_enable_pooling
        if jasper_ie_class_id is not None:
            self.jasper_ie_class_id = jasper_ie_class_id
        if jasper_gen_string_as_char_array is not None:
            self.jasper_gen_string_as_char_array = jasper_gen_string_as_char_array
        if jasper_keepgenerated is not None:
            self.jasper_keepgenerated = jasper_keepgenerated
        if jasper_mappedfile is not None:
            self.jasper_mappedfile = jasper_mappedfile
        if jasper_trim_spaces is not None:
            self.jasper_trim_spaces = jasper_trim_spaces
        if jasper_display_source_fragments is not None:
            self.jasper_display_source_fragments = jasper_display_source_fragments
        if default_is_session is not None:
            self.default_is_session = default_is_session

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


        :return: The jasper_compiler_target_vm of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._jasper_compiler_target_vm

    @jasper_compiler_target_vm.setter
    def jasper_compiler_target_vm(self, jasper_compiler_target_vm):
        """Sets the jasper_compiler_target_vm of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_compiler_target_vm: The jasper_compiler_target_vm of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._jasper_compiler_target_vm = jasper_compiler_target_vm

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


        :return: The jasper_compiler_source_vm of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._jasper_compiler_source_vm

    @jasper_compiler_source_vm.setter
    def jasper_compiler_source_vm(self, jasper_compiler_source_vm):
        """Sets the jasper_compiler_source_vm of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_compiler_source_vm: The jasper_compiler_source_vm of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._jasper_compiler_source_vm = jasper_compiler_source_vm

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


        :return: The jasper_classdebuginfo of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_classdebuginfo

    @jasper_classdebuginfo.setter
    def jasper_classdebuginfo(self, jasper_classdebuginfo):
        """Sets the jasper_classdebuginfo of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_classdebuginfo: The jasper_classdebuginfo of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_classdebuginfo = jasper_classdebuginfo

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


        :return: The jasper_enable_pooling of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_enable_pooling

    @jasper_enable_pooling.setter
    def jasper_enable_pooling(self, jasper_enable_pooling):
        """Sets the jasper_enable_pooling of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_enable_pooling: The jasper_enable_pooling of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_enable_pooling = jasper_enable_pooling

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


        :return: The jasper_ie_class_id of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._jasper_ie_class_id

    @jasper_ie_class_id.setter
    def jasper_ie_class_id(self, jasper_ie_class_id):
        """Sets the jasper_ie_class_id of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_ie_class_id: The jasper_ie_class_id of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._jasper_ie_class_id = jasper_ie_class_id

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


        :return: The jasper_gen_string_as_char_array of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_gen_string_as_char_array

    @jasper_gen_string_as_char_array.setter
    def jasper_gen_string_as_char_array(self, jasper_gen_string_as_char_array):
        """Sets the jasper_gen_string_as_char_array of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_gen_string_as_char_array: The jasper_gen_string_as_char_array of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_gen_string_as_char_array = jasper_gen_string_as_char_array

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


        :return: The jasper_keepgenerated of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_keepgenerated

    @jasper_keepgenerated.setter
    def jasper_keepgenerated(self, jasper_keepgenerated):
        """Sets the jasper_keepgenerated of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_keepgenerated: The jasper_keepgenerated of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_keepgenerated = jasper_keepgenerated

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


        :return: The jasper_mappedfile of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_mappedfile

    @jasper_mappedfile.setter
    def jasper_mappedfile(self, jasper_mappedfile):
        """Sets the jasper_mappedfile of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_mappedfile: The jasper_mappedfile of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_mappedfile = jasper_mappedfile

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


        :return: The jasper_trim_spaces of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_trim_spaces

    @jasper_trim_spaces.setter
    def jasper_trim_spaces(self, jasper_trim_spaces):
        """Sets the jasper_trim_spaces of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_trim_spaces: The jasper_trim_spaces of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_trim_spaces = jasper_trim_spaces

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


        :return: The jasper_display_source_fragments of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._jasper_display_source_fragments

    @jasper_display_source_fragments.setter
    def jasper_display_source_fragments(self, jasper_display_source_fragments):
        """Sets the jasper_display_source_fragments of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param jasper_display_source_fragments: The jasper_display_source_fragments of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._jasper_display_source_fragments = jasper_display_source_fragments

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


        :return: The default_is_session of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._default_is_session

    @default_is_session.setter
    def default_is_session(self, default_is_session):
        """Sets the default_is_session of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.


        :param default_is_session: The default_is_session of this OrgApacheSlingScriptingJspJspScriptEngineFactoryProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._default_is_session = default_is_session

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

        return self.__dict__ == other.__dict__

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