# coding: utf-8

"""
    EVE Swagger Interface

    An OpenAPI for EVE Online  # noqa: E501

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


import pprint
import re  # noqa: F401

import six


class GetCharactersCharacterIdSearchOk(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 = {
        'agent': 'list[int]',
        'alliance': 'list[int]',
        'character': 'list[int]',
        'constellation': 'list[int]',
        'corporation': 'list[int]',
        'faction': 'list[int]',
        'inventory_type': 'list[int]',
        'region': 'list[int]',
        'solar_system': 'list[int]',
        'station': 'list[int]',
        'structure': 'list[int]'
    }

    attribute_map = {
        'agent': 'agent',
        'alliance': 'alliance',
        'character': 'character',
        'constellation': 'constellation',
        'corporation': 'corporation',
        'faction': 'faction',
        'inventory_type': 'inventory_type',
        'region': 'region',
        'solar_system': 'solar_system',
        'station': 'station',
        'structure': 'structure'
    }

    def __init__(self, agent=None, alliance=None, character=None, constellation=None, corporation=None, faction=None, inventory_type=None, region=None, solar_system=None, station=None, structure=None):  # noqa: E501
        """GetCharactersCharacterIdSearchOk - a model defined in Swagger"""  # noqa: E501

        self._agent = None
        self._alliance = None
        self._character = None
        self._constellation = None
        self._corporation = None
        self._faction = None
        self._inventory_type = None
        self._region = None
        self._solar_system = None
        self._station = None
        self._structure = None
        self.discriminator = None

        if agent is not None:
            self.agent = agent
        if alliance is not None:
            self.alliance = alliance
        if character is not None:
            self.character = character
        if constellation is not None:
            self.constellation = constellation
        if corporation is not None:
            self.corporation = corporation
        if faction is not None:
            self.faction = faction
        if inventory_type is not None:
            self.inventory_type = inventory_type
        if region is not None:
            self.region = region
        if solar_system is not None:
            self.solar_system = solar_system
        if station is not None:
            self.station = station
        if structure is not None:
            self.structure = structure

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

        agent array  # noqa: E501

        :return: The agent of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._agent

    @agent.setter
    def agent(self, agent):
        """Sets the agent of this GetCharactersCharacterIdSearchOk.

        agent array  # noqa: E501

        :param agent: The agent of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._agent = agent

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

        alliance array  # noqa: E501

        :return: The alliance of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._alliance

    @alliance.setter
    def alliance(self, alliance):
        """Sets the alliance of this GetCharactersCharacterIdSearchOk.

        alliance array  # noqa: E501

        :param alliance: The alliance of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._alliance = alliance

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

        character array  # noqa: E501

        :return: The character of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._character

    @character.setter
    def character(self, character):
        """Sets the character of this GetCharactersCharacterIdSearchOk.

        character array  # noqa: E501

        :param character: The character of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._character = character

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

        constellation array  # noqa: E501

        :return: The constellation of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._constellation

    @constellation.setter
    def constellation(self, constellation):
        """Sets the constellation of this GetCharactersCharacterIdSearchOk.

        constellation array  # noqa: E501

        :param constellation: The constellation of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._constellation = constellation

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

        corporation array  # noqa: E501

        :return: The corporation of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._corporation

    @corporation.setter
    def corporation(self, corporation):
        """Sets the corporation of this GetCharactersCharacterIdSearchOk.

        corporation array  # noqa: E501

        :param corporation: The corporation of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._corporation = corporation

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

        faction array  # noqa: E501

        :return: The faction of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._faction

    @faction.setter
    def faction(self, faction):
        """Sets the faction of this GetCharactersCharacterIdSearchOk.

        faction array  # noqa: E501

        :param faction: The faction of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._faction = faction

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

        inventory_type array  # noqa: E501

        :return: The inventory_type of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._inventory_type

    @inventory_type.setter
    def inventory_type(self, inventory_type):
        """Sets the inventory_type of this GetCharactersCharacterIdSearchOk.

        inventory_type array  # noqa: E501

        :param inventory_type: The inventory_type of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._inventory_type = inventory_type

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

        region array  # noqa: E501

        :return: The region of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._region

    @region.setter
    def region(self, region):
        """Sets the region of this GetCharactersCharacterIdSearchOk.

        region array  # noqa: E501

        :param region: The region of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._region = region

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

        solar_system array  # noqa: E501

        :return: The solar_system of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._solar_system

    @solar_system.setter
    def solar_system(self, solar_system):
        """Sets the solar_system of this GetCharactersCharacterIdSearchOk.

        solar_system array  # noqa: E501

        :param solar_system: The solar_system of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._solar_system = solar_system

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

        station array  # noqa: E501

        :return: The station of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._station

    @station.setter
    def station(self, station):
        """Sets the station of this GetCharactersCharacterIdSearchOk.

        station array  # noqa: E501

        :param station: The station of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._station = station

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

        structure array  # noqa: E501

        :return: The structure of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :rtype: list[int]
        """
        return self._structure

    @structure.setter
    def structure(self, structure):
        """Sets the structure of this GetCharactersCharacterIdSearchOk.

        structure array  # noqa: E501

        :param structure: The structure of this GetCharactersCharacterIdSearchOk.  # noqa: E501
        :type: list[int]
        """

        self._structure = structure

    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

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

        return self.__dict__ == other.__dict__

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