# coding: utf-8

"""
    eLabFTW REST API v2 Documentation

    This document describes all available endpoints and methods for eLabFTW's API version 2.   # noqa: E501

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

import pprint
import re  # noqa: F401

import six

class Entity(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 = {
        'body': 'str',
        'body_html': 'str',
        'canread': 'str',
        'canwrite': 'str',
        'category': 'str',
        'category_id': 'int',
        'color': 'str',
        'comments': 'list[Comment]',
        'content_type': 'int',
        'created_at': 'str',
        '_date': 'str',
        'elabid': 'str',
        'events_id': 'str',
        'events_item_id': 'str',
        'firstname': 'str',
        'fullname': 'str',
        'has_attachement': 'int',
        'has_comment': 'int',
        'id': 'int',
        'is_bound': 'str',
        'lastchangeby': 'int',
        'lastname': 'str',
        'links': 'list[Link]',
        'locked': 'int',
        'lockedby': 'int',
        'lockedwhen': 'str',
        'metadata': 'str',
        'modified_at': 'str',
        'next_step': 'str',
        'orcid': 'str',
        'page': 'str',
        'rating': 'int',
        'recent_comment': 'str',
        'sharelink': 'str',
        'state': 'int',
        'steps': 'list[Step]',
        'tags': 'str',
        'tags_id': 'str',
        'timestamped': 'int',
        'timestampedby': 'int',
        'timestamped_at': 'str',
        'title': 'str',
        'type': 'str',
        'up_item_id': 'int',
        'uploads': 'list[Upload]',
        'userid': 'int'
    }

    attribute_map = {
        'body': 'body',
        'body_html': 'body_html',
        'canread': 'canread',
        'canwrite': 'canwrite',
        'category': 'category',
        'category_id': 'category_id',
        'color': 'color',
        'comments': 'comments',
        'content_type': 'content_type',
        'created_at': 'created_at',
        '_date': 'date',
        'elabid': 'elabid',
        'events_id': 'events_id',
        'events_item_id': 'events_item_id',
        'firstname': 'firstname',
        'fullname': 'fullname',
        'has_attachement': 'has_attachement',
        'has_comment': 'has_comment',
        'id': 'id',
        'is_bound': 'is_bound',
        'lastchangeby': 'lastchangeby',
        'lastname': 'lastname',
        'links': 'links',
        'locked': 'locked',
        'lockedby': 'lockedby',
        'lockedwhen': 'lockedwhen',
        'metadata': 'metadata',
        'modified_at': 'modified_at',
        'next_step': 'next_step',
        'orcid': 'orcid',
        'page': 'page',
        'rating': 'rating',
        'recent_comment': 'recent_comment',
        'sharelink': 'sharelink',
        'state': 'state',
        'steps': 'steps',
        'tags': 'tags',
        'tags_id': 'tags_id',
        'timestamped': 'timestamped',
        'timestampedby': 'timestampedby',
        'timestamped_at': 'timestamped_at',
        'title': 'title',
        'type': 'type',
        'up_item_id': 'up_item_id',
        'uploads': 'uploads',
        'userid': 'userid'
    }

    def __init__(self, body=None, body_html=None, canread=None, canwrite=None, category=None, category_id=None, color=None, comments=None, content_type=None, created_at=None, _date=None, elabid=None, events_id=None, events_item_id=None, firstname=None, fullname=None, has_attachement=None, has_comment=None, id=None, is_bound=None, lastchangeby=None, lastname=None, links=None, locked=None, lockedby=None, lockedwhen=None, metadata=None, modified_at=None, next_step=None, orcid=None, page=None, rating=None, recent_comment=None, sharelink=None, state=None, steps=None, tags=None, tags_id=None, timestamped=None, timestampedby=None, timestamped_at=None, title=None, type=None, up_item_id=None, uploads=None, userid=None):  # noqa: E501
        """Entity - a model defined in Swagger"""  # noqa: E501
        self._body = None
        self._body_html = None
        self._canread = None
        self._canwrite = None
        self._category = None
        self._category_id = None
        self._color = None
        self._comments = None
        self._content_type = None
        self._created_at = None
        self.__date = None
        self._elabid = None
        self._events_id = None
        self._events_item_id = None
        self._firstname = None
        self._fullname = None
        self._has_attachement = None
        self._has_comment = None
        self._id = None
        self._is_bound = None
        self._lastchangeby = None
        self._lastname = None
        self._links = None
        self._locked = None
        self._lockedby = None
        self._lockedwhen = None
        self._metadata = None
        self._modified_at = None
        self._next_step = None
        self._orcid = None
        self._page = None
        self._rating = None
        self._recent_comment = None
        self._sharelink = None
        self._state = None
        self._steps = None
        self._tags = None
        self._tags_id = None
        self._timestamped = None
        self._timestampedby = None
        self._timestamped_at = None
        self._title = None
        self._type = None
        self._up_item_id = None
        self._uploads = None
        self._userid = None
        self.discriminator = None
        if body is not None:
            self.body = body
        if body_html is not None:
            self.body_html = body_html
        if canread is not None:
            self.canread = canread
        if canwrite is not None:
            self.canwrite = canwrite
        if category is not None:
            self.category = category
        if category_id is not None:
            self.category_id = category_id
        if color is not None:
            self.color = color
        if comments is not None:
            self.comments = comments
        if content_type is not None:
            self.content_type = content_type
        if created_at is not None:
            self.created_at = created_at
        if _date is not None:
            self._date = _date
        if elabid is not None:
            self.elabid = elabid
        if events_id is not None:
            self.events_id = events_id
        if events_item_id is not None:
            self.events_item_id = events_item_id
        if firstname is not None:
            self.firstname = firstname
        if fullname is not None:
            self.fullname = fullname
        if has_attachement is not None:
            self.has_attachement = has_attachement
        if has_comment is not None:
            self.has_comment = has_comment
        if id is not None:
            self.id = id
        if is_bound is not None:
            self.is_bound = is_bound
        if lastchangeby is not None:
            self.lastchangeby = lastchangeby
        if lastname is not None:
            self.lastname = lastname
        if links is not None:
            self.links = links
        if locked is not None:
            self.locked = locked
        if lockedby is not None:
            self.lockedby = lockedby
        if lockedwhen is not None:
            self.lockedwhen = lockedwhen
        if metadata is not None:
            self.metadata = metadata
        if modified_at is not None:
            self.modified_at = modified_at
        if next_step is not None:
            self.next_step = next_step
        if orcid is not None:
            self.orcid = orcid
        if page is not None:
            self.page = page
        if rating is not None:
            self.rating = rating
        if recent_comment is not None:
            self.recent_comment = recent_comment
        if sharelink is not None:
            self.sharelink = sharelink
        if state is not None:
            self.state = state
        if steps is not None:
            self.steps = steps
        if tags is not None:
            self.tags = tags
        if tags_id is not None:
            self.tags_id = tags_id
        if timestamped is not None:
            self.timestamped = timestamped
        if timestampedby is not None:
            self.timestampedby = timestampedby
        if timestamped_at is not None:
            self.timestamped_at = timestamped_at
        if title is not None:
            self.title = title
        if type is not None:
            self.type = type
        if up_item_id is not None:
            self.up_item_id = up_item_id
        if uploads is not None:
            self.uploads = uploads
        if userid is not None:
            self.userid = userid

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


        :return: The body of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._body

    @body.setter
    def body(self, body):
        """Sets the body of this Entity.


        :param body: The body of this Entity.  # noqa: E501
        :type: str
        """

        self._body = body

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


        :return: The body_html of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._body_html

    @body_html.setter
    def body_html(self, body_html):
        """Sets the body_html of this Entity.


        :param body_html: The body_html of this Entity.  # noqa: E501
        :type: str
        """

        self._body_html = body_html

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


        :return: The canread of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._canread

    @canread.setter
    def canread(self, canread):
        """Sets the canread of this Entity.


        :param canread: The canread of this Entity.  # noqa: E501
        :type: str
        """

        self._canread = canread

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


        :return: The canwrite of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._canwrite

    @canwrite.setter
    def canwrite(self, canwrite):
        """Sets the canwrite of this Entity.


        :param canwrite: The canwrite of this Entity.  # noqa: E501
        :type: str
        """

        self._canwrite = canwrite

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


        :return: The category of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._category

    @category.setter
    def category(self, category):
        """Sets the category of this Entity.


        :param category: The category of this Entity.  # noqa: E501
        :type: str
        """

        self._category = category

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


        :return: The category_id of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._category_id

    @category_id.setter
    def category_id(self, category_id):
        """Sets the category_id of this Entity.


        :param category_id: The category_id of this Entity.  # noqa: E501
        :type: int
        """

        self._category_id = category_id

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


        :return: The color of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._color

    @color.setter
    def color(self, color):
        """Sets the color of this Entity.


        :param color: The color of this Entity.  # noqa: E501
        :type: str
        """

        self._color = color

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


        :return: The comments of this Entity.  # noqa: E501
        :rtype: list[Comment]
        """
        return self._comments

    @comments.setter
    def comments(self, comments):
        """Sets the comments of this Entity.


        :param comments: The comments of this Entity.  # noqa: E501
        :type: list[Comment]
        """

        self._comments = comments

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


        :return: The content_type of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._content_type

    @content_type.setter
    def content_type(self, content_type):
        """Sets the content_type of this Entity.


        :param content_type: The content_type of this Entity.  # noqa: E501
        :type: int
        """

        self._content_type = content_type

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


        :return: The created_at of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._created_at

    @created_at.setter
    def created_at(self, created_at):
        """Sets the created_at of this Entity.


        :param created_at: The created_at of this Entity.  # noqa: E501
        :type: str
        """

        self._created_at = created_at

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


        :return: The _date of this Entity.  # noqa: E501
        :rtype: str
        """
        return self.__date

    @_date.setter
    def _date(self, _date):
        """Sets the _date of this Entity.


        :param _date: The _date of this Entity.  # noqa: E501
        :type: str
        """

        self.__date = _date

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


        :return: The elabid of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._elabid

    @elabid.setter
    def elabid(self, elabid):
        """Sets the elabid of this Entity.


        :param elabid: The elabid of this Entity.  # noqa: E501
        :type: str
        """

        self._elabid = elabid

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


        :return: The events_id of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._events_id

    @events_id.setter
    def events_id(self, events_id):
        """Sets the events_id of this Entity.


        :param events_id: The events_id of this Entity.  # noqa: E501
        :type: str
        """

        self._events_id = events_id

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


        :return: The events_item_id of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._events_item_id

    @events_item_id.setter
    def events_item_id(self, events_item_id):
        """Sets the events_item_id of this Entity.


        :param events_item_id: The events_item_id of this Entity.  # noqa: E501
        :type: str
        """

        self._events_item_id = events_item_id

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


        :return: The firstname of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._firstname

    @firstname.setter
    def firstname(self, firstname):
        """Sets the firstname of this Entity.


        :param firstname: The firstname of this Entity.  # noqa: E501
        :type: str
        """

        self._firstname = firstname

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


        :return: The fullname of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._fullname

    @fullname.setter
    def fullname(self, fullname):
        """Sets the fullname of this Entity.


        :param fullname: The fullname of this Entity.  # noqa: E501
        :type: str
        """

        self._fullname = fullname

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


        :return: The has_attachement of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._has_attachement

    @has_attachement.setter
    def has_attachement(self, has_attachement):
        """Sets the has_attachement of this Entity.


        :param has_attachement: The has_attachement of this Entity.  # noqa: E501
        :type: int
        """

        self._has_attachement = has_attachement

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


        :return: The has_comment of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._has_comment

    @has_comment.setter
    def has_comment(self, has_comment):
        """Sets the has_comment of this Entity.


        :param has_comment: The has_comment of this Entity.  # noqa: E501
        :type: int
        """

        self._has_comment = has_comment

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


        :return: The id of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this Entity.


        :param id: The id of this Entity.  # noqa: E501
        :type: int
        """

        self._id = id

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


        :return: The is_bound of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._is_bound

    @is_bound.setter
    def is_bound(self, is_bound):
        """Sets the is_bound of this Entity.


        :param is_bound: The is_bound of this Entity.  # noqa: E501
        :type: str
        """

        self._is_bound = is_bound

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


        :return: The lastchangeby of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._lastchangeby

    @lastchangeby.setter
    def lastchangeby(self, lastchangeby):
        """Sets the lastchangeby of this Entity.


        :param lastchangeby: The lastchangeby of this Entity.  # noqa: E501
        :type: int
        """

        self._lastchangeby = lastchangeby

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


        :return: The lastname of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._lastname

    @lastname.setter
    def lastname(self, lastname):
        """Sets the lastname of this Entity.


        :param lastname: The lastname of this Entity.  # noqa: E501
        :type: str
        """

        self._lastname = lastname

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


        :return: The links of this Entity.  # noqa: E501
        :rtype: list[Link]
        """
        return self._links

    @links.setter
    def links(self, links):
        """Sets the links of this Entity.


        :param links: The links of this Entity.  # noqa: E501
        :type: list[Link]
        """

        self._links = links

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


        :return: The locked of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._locked

    @locked.setter
    def locked(self, locked):
        """Sets the locked of this Entity.


        :param locked: The locked of this Entity.  # noqa: E501
        :type: int
        """

        self._locked = locked

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


        :return: The lockedby of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._lockedby

    @lockedby.setter
    def lockedby(self, lockedby):
        """Sets the lockedby of this Entity.


        :param lockedby: The lockedby of this Entity.  # noqa: E501
        :type: int
        """

        self._lockedby = lockedby

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


        :return: The lockedwhen of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._lockedwhen

    @lockedwhen.setter
    def lockedwhen(self, lockedwhen):
        """Sets the lockedwhen of this Entity.


        :param lockedwhen: The lockedwhen of this Entity.  # noqa: E501
        :type: str
        """

        self._lockedwhen = lockedwhen

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


        :return: The metadata of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._metadata

    @metadata.setter
    def metadata(self, metadata):
        """Sets the metadata of this Entity.


        :param metadata: The metadata of this Entity.  # noqa: E501
        :type: str
        """

        self._metadata = metadata

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


        :return: The modified_at of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._modified_at

    @modified_at.setter
    def modified_at(self, modified_at):
        """Sets the modified_at of this Entity.


        :param modified_at: The modified_at of this Entity.  # noqa: E501
        :type: str
        """

        self._modified_at = modified_at

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


        :return: The next_step of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._next_step

    @next_step.setter
    def next_step(self, next_step):
        """Sets the next_step of this Entity.


        :param next_step: The next_step of this Entity.  # noqa: E501
        :type: str
        """

        self._next_step = next_step

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


        :return: The orcid of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._orcid

    @orcid.setter
    def orcid(self, orcid):
        """Sets the orcid of this Entity.


        :param orcid: The orcid of this Entity.  # noqa: E501
        :type: str
        """

        self._orcid = orcid

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


        :return: The page of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._page

    @page.setter
    def page(self, page):
        """Sets the page of this Entity.


        :param page: The page of this Entity.  # noqa: E501
        :type: str
        """

        self._page = page

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


        :return: The rating of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._rating

    @rating.setter
    def rating(self, rating):
        """Sets the rating of this Entity.


        :param rating: The rating of this Entity.  # noqa: E501
        :type: int
        """

        self._rating = rating

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


        :return: The recent_comment of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._recent_comment

    @recent_comment.setter
    def recent_comment(self, recent_comment):
        """Sets the recent_comment of this Entity.


        :param recent_comment: The recent_comment of this Entity.  # noqa: E501
        :type: str
        """

        self._recent_comment = recent_comment

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


        :return: The sharelink of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._sharelink

    @sharelink.setter
    def sharelink(self, sharelink):
        """Sets the sharelink of this Entity.


        :param sharelink: The sharelink of this Entity.  # noqa: E501
        :type: str
        """

        self._sharelink = sharelink

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


        :return: The state of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._state

    @state.setter
    def state(self, state):
        """Sets the state of this Entity.


        :param state: The state of this Entity.  # noqa: E501
        :type: int
        """

        self._state = state

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


        :return: The steps of this Entity.  # noqa: E501
        :rtype: list[Step]
        """
        return self._steps

    @steps.setter
    def steps(self, steps):
        """Sets the steps of this Entity.


        :param steps: The steps of this Entity.  # noqa: E501
        :type: list[Step]
        """

        self._steps = steps

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


        :return: The tags of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._tags

    @tags.setter
    def tags(self, tags):
        """Sets the tags of this Entity.


        :param tags: The tags of this Entity.  # noqa: E501
        :type: str
        """

        self._tags = tags

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


        :return: The tags_id of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._tags_id

    @tags_id.setter
    def tags_id(self, tags_id):
        """Sets the tags_id of this Entity.


        :param tags_id: The tags_id of this Entity.  # noqa: E501
        :type: str
        """

        self._tags_id = tags_id

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


        :return: The timestamped of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._timestamped

    @timestamped.setter
    def timestamped(self, timestamped):
        """Sets the timestamped of this Entity.


        :param timestamped: The timestamped of this Entity.  # noqa: E501
        :type: int
        """

        self._timestamped = timestamped

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


        :return: The timestampedby of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._timestampedby

    @timestampedby.setter
    def timestampedby(self, timestampedby):
        """Sets the timestampedby of this Entity.


        :param timestampedby: The timestampedby of this Entity.  # noqa: E501
        :type: int
        """

        self._timestampedby = timestampedby

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


        :return: The timestamped_at of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._timestamped_at

    @timestamped_at.setter
    def timestamped_at(self, timestamped_at):
        """Sets the timestamped_at of this Entity.


        :param timestamped_at: The timestamped_at of this Entity.  # noqa: E501
        :type: str
        """

        self._timestamped_at = timestamped_at

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


        :return: The title of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._title

    @title.setter
    def title(self, title):
        """Sets the title of this Entity.


        :param title: The title of this Entity.  # noqa: E501
        :type: str
        """

        self._title = title

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


        :return: The type of this Entity.  # noqa: E501
        :rtype: str
        """
        return self._type

    @type.setter
    def type(self, type):
        """Sets the type of this Entity.


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

        self._type = type

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


        :return: The up_item_id of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._up_item_id

    @up_item_id.setter
    def up_item_id(self, up_item_id):
        """Sets the up_item_id of this Entity.


        :param up_item_id: The up_item_id of this Entity.  # noqa: E501
        :type: int
        """

        self._up_item_id = up_item_id

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


        :return: The uploads of this Entity.  # noqa: E501
        :rtype: list[Upload]
        """
        return self._uploads

    @uploads.setter
    def uploads(self, uploads):
        """Sets the uploads of this Entity.


        :param uploads: The uploads of this Entity.  # noqa: E501
        :type: list[Upload]
        """

        self._uploads = uploads

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


        :return: The userid of this Entity.  # noqa: E501
        :rtype: int
        """
        return self._userid

    @userid.setter
    def userid(self, userid):
        """Sets the userid of this Entity.


        :param userid: The userid of this Entity.  # noqa: E501
        :type: int
        """

        self._userid = userid

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

        return self.__dict__ == other.__dict__

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