import uuid from abc import ABC from src.errors.error_proxy import error_proxy from src.validation.validator import validator class abstract_reference(ABC): __id: uuid.UUID __name: str = "" __error: error_proxy = error_proxy() # Валидатор __vtor = validator() def __init__(self, name: str = None) -> None: self.name = name self.__id = uuid.uuid4() def __str__(self): return self.name @property def error(self): """ Работа с ошибками Returns: _type_: _description_ """ return self.__error @property def id(self): """ Уникальный код Returns: _type_: _description_ """ return self.__id @property def name(self): """ Наименование Returns: _type_: _description_ """ return self.__name.strip() @name.setter def name(self, value: str): self.__vtor.check_type(value, str) value = value.strip() self.__vtor.check_length_bound(value, 1, 50) self.__name = value