from parallels.core.utils.entity import Entity


class Module(Entity):
    def __init__(self, module_id, name, version, release):
        self._module_id = module_id
        self._name = name
        self._version = version
        self._release = release

    @property
    def module_id(self):
        """
        :rtype: str | unicode
        """
        return self._module_id

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

    @property
    def version(self):
        """
        :rtype: str | unicode
        """
        return self._version

    @property
    def release(self):
        """
        :rtype: str | unicode
        """
        return self._release
