from parallels.core.utils.entity import Entity


class MailName(Entity):
    def __init__(
        self, mail_name_id, user_id, account_id, domain_id, name, postbox, mail_group, auto_responder,
        mbox_quota, description, spamfilter, virusfilter
    ):
        self._mail_name_id = mail_name_id
        self._user_id = user_id
        self._account_id = account_id
        self._domain_id = domain_id
        self._name = name
        self._postbox = postbox
        self._mail_group = mail_group
        self._auto_responder = auto_responder
        self._mbox_quota = mbox_quota
        self._description = description
        self._spamfilter = spamfilter
        self._virusfilter = virusfilter

    @property
    def mail_name_id(self):
        """
        :rtype: str | unicode
        """
        return self._mail_name_id

    @property
    def user_id(self):
        """
        :rtype: str | unicode
        """
        return self._user_id

    @property
    def account_id(self):
        """
        :rtype: str | unicode
        """
        return self._account_id

    @property
    def domain_id(self):
        """
        :rtype: str | unicode
        """
        return self._domain_id

    @property
    def name(self):
        """
        :rtype: str | unicode
        """
        return self._name

    @property
    def postbox(self):
        """
        :rtype: str | unicode
        """
        return self._postbox

    @property
    def mail_group(self):
        """
        :rtype: str | unicode
        """
        return self._mail_group

    @property
    def auto_responder(self):
        """
        :rtype: str | unicode
        """
        return self._auto_responder

    @property
    def mbox_quota(self):
        """
        :rtype: str | unicode
        """
        return self._mbox_quota

    @property
    def description(self):
        """
        :rtype: str | unicode
        """
        return self._description

    @property
    def spamfilter(self):
        """
        :rtype: str | unicode | None
        """
        return self._spamfilter

    @property
    def virusfilter(self):
        """
        :rtype: str | unicode | None
        """
        return self._virusfilter
