EJIO.utils.interface package¶

Submodules¶
EJIO.utils.interface.dictable module¶
- class EJIO.utils.interface.dictable.Dictable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolИнтерфейс объектов, которые поддерживают преобразование в/из словаря (dict). Используется для сериализации и десериализации объектов.
- abstractmethod classmethod from_dict(data: dict[str, T]) Self[исходный код]¶
Восстановить объект из словаря.
- Параметры:
data – Словарь с данными.
- Результат:
Новый объект, созданный из этого словаря.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- abstractmethod to_dict() dict[str, T][исходный код]¶
Преобразовать объект в словарь.
- Результат:
Словарь, отражающий состояние объекта.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
EJIO.utils.interface.disposable module¶
- class EJIO.utils.interface.disposable.Disposable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolЕдиный интерфейс-протокол для всех долгоживущих рантайм-структур. Гарантирует автоматическую очистку памяти при завершении работы приложения.
- clear() None[исходный код]¶
Метод полной очистки внутреннего хранилища/состояния.
- Исключение:
NotImplementedError – должен быть реализован в подклассах.
- destroy() None[исходный код]¶
Метод полной очистки внутреннего хранилища/состояния.
- Исключение:
NotImplementedError – должен быть реализован в подклассах.
- class EJIO.utils.interface.disposable.DisposableMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
_ProtocolMetaМетакласс для автоматического рантайм-учета всех уничтожаемых и очищаемых структур.
- classmethod dispose_all() None[исходный код]¶
Централизованно и каскадно уничтожает и очищает абсолютно все зарегистрированные структуры.
EJIO.utils.interface.isolated_storage module¶
- class EJIO.utils.interface.isolated_storage.IsolatedStorageMixin[исходный код]¶
Базовые классы:
GenericМиксин, автоматически предоставляющий каждому подклассу собственное изолированное и потокобезопасное хранилище.
EJIO.utils.interface.listable module¶
- class EJIO.utils.interface.listable.Listable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolИнтерфейс объектов, которые поддерживают преобразование в/из списка (list).
- abstractmethod classmethod from_list(data: list[T]) Self[исходный код]¶
Восстановить объект из списка.
- Параметры:
data – Список с данными.
- Результат:
Новый объект, созданный из этого списка.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- abstractmethod to_list() list[T][исходный код]¶
Преобразовать объект в список.
- Результат:
Список, отражающий состояние объекта.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
EJIO.utils.interface.mutable_static_class module¶
- class EJIO.utils.interface.mutable_static_class.MutableStaticMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
StaticClassMetaМетакласс для изменяемых статических структур конфигурации. Запрещает создание экземпляров, но разрешает чтение функций класса как вычисляемых свойств (property) без круглых скобок.
- class EJIO.utils.interface.mutable_static_class.static_property(func: Callable[[...], Any])[исходный код]¶
Базовые классы:
objectКастомный маркер-дескриптор для объявления вычисляемых свойств внутри изменяемых статических структур.
EJIO.utils.interface.prototype module¶
- class EJIO.utils.interface.prototype.Prototype(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolПротокол, реализующий методы для копирования себя.
- clone() Self[исходный код]¶
Поверхностное копирование (вложенные объекты остаются общими).
- Результат:
Поверхностную копию объекта.
- deep_clone() Self[исходный код]¶
Глубокое копирование (вложенные объекты тоже дублируются).
- Результат:
Полную копию объекта.
- class EJIO.utils.interface.prototype.ThreadSafePrototypeMixin(*args: object, **kwargs: object)[исходный код]¶
Базовые классы:
PrototypeМиксин-реализация для создания потокобезопасных прототипов. Использует Threading Lock для предотвращения состояния гонки при чтении/копировании.
- clone() Self[исходный код]¶
Потокобезопасное поверхностное копирование.
- Результат:
Поверхностную копию объекта.
- deep_clone() Self[исходный код]¶
Потокобезопасное глубокое копирование.
- Результат:
Полную копию объекта.
EJIO.utils.interface.read_only_class module¶
- class EJIO.utils.interface.read_only_class.ReadOnlyMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
StaticClassMetaМетакласс, реализующий свойства только для чтения на уровне самого класса и полностью запрещающий создание экземпляров.
EJIO.utils.interface.singleton module¶
- class EJIO.utils.interface.singleton.Singleton(*args: object, **kwargs: object)[исходный код]¶
Базовые классы:
objectБазовый класс Singleton.
EJIO.utils.interface.static_class module¶
- class EJIO.utils.interface.static_class.StaticClass(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]¶
Базовые классы:
objectИнтерфейс-миксин для создания строго статических классов. Запрещает создание любых экземпляров данного класса или его наследников.
- class EJIO.utils.interface.static_class.StaticClassMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
DisposableMetaМетакласс, запрещающий создание экземпляров.
EJIO.utils.interface.tupleable module¶
- class EJIO.utils.interface.tupleable.Tupleable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolИнтерфейс объектов, которые поддерживают преобразование в/из кортеж (tuple).
- abstractmethod classmethod from_tuple(data: list[T]) Self[исходный код]¶
Восстановить объект из кортежа.
- Параметры:
data – Кортеж с данными.
- Результат:
Новый объект, созданный из этого кортежа.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- abstractmethod to_tuple() list[T][исходный код]¶
Преобразовать объект в кортеж.
- Результат:
Кортеж, отражающий состояние объекта.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
Module contents¶
- class EJIO.utils.interface.Dictable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolИнтерфейс объектов, которые поддерживают преобразование в/из словаря (dict). Используется для сериализации и десериализации объектов.
- abstractmethod classmethod from_dict(data: dict[str, T]) Self[исходный код]¶
Восстановить объект из словаря.
- Параметры:
data – Словарь с данными.
- Результат:
Новый объект, созданный из этого словаря.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- abstractmethod to_dict() dict[str, T][исходный код]¶
Преобразовать объект в словарь.
- Результат:
Словарь, отражающий состояние объекта.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- class EJIO.utils.interface.Disposable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolЕдиный интерфейс-протокол для всех долгоживущих рантайм-структур. Гарантирует автоматическую очистку памяти при завершении работы приложения.
- clear() None[исходный код]¶
Метод полной очистки внутреннего хранилища/состояния.
- Исключение:
NotImplementedError – должен быть реализован в подклассах.
- destroy() None[исходный код]¶
Метод полной очистки внутреннего хранилища/состояния.
- Исключение:
NotImplementedError – должен быть реализован в подклассах.
- class EJIO.utils.interface.DisposableMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
_ProtocolMetaМетакласс для автоматического рантайм-учета всех уничтожаемых и очищаемых структур.
- classmethod dispose_all() None[исходный код]¶
Централизованно и каскадно уничтожает и очищает абсолютно все зарегистрированные структуры.
- class EJIO.utils.interface.IsolatedStorageMixin[исходный код]¶
Базовые классы:
GenericМиксин, автоматически предоставляющий каждому подклассу собственное изолированное и потокобезопасное хранилище.
- class EJIO.utils.interface.Listable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolИнтерфейс объектов, которые поддерживают преобразование в/из списка (list).
- abstractmethod classmethod from_list(data: list[T]) Self[исходный код]¶
Восстановить объект из списка.
- Параметры:
data – Список с данными.
- Результат:
Новый объект, созданный из этого списка.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- abstractmethod to_list() list[T][исходный код]¶
Преобразовать объект в список.
- Результат:
Список, отражающий состояние объекта.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- class EJIO.utils.interface.MutableStaticMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
StaticClassMetaМетакласс для изменяемых статических структур конфигурации. Запрещает создание экземпляров, но разрешает чтение функций класса как вычисляемых свойств (property) без круглых скобок.
- class EJIO.utils.interface.Prototype(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolПротокол, реализующий методы для копирования себя.
- clone() Self[исходный код]¶
Поверхностное копирование (вложенные объекты остаются общими).
- Результат:
Поверхностную копию объекта.
- deep_clone() Self[исходный код]¶
Глубокое копирование (вложенные объекты тоже дублируются).
- Результат:
Полную копию объекта.
- class EJIO.utils.interface.ReadOnlyMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
StaticClassMetaМетакласс, реализующий свойства только для чтения на уровне самого класса и полностью запрещающий создание экземпляров.
- class EJIO.utils.interface.Singleton(*args: object, **kwargs: object)[исходный код]¶
Базовые классы:
objectБазовый класс Singleton.
- class EJIO.utils.interface.StaticClass(*args: tuple[object, ...], **kwargs: dict[str, object])[исходный код]¶
Базовые классы:
objectИнтерфейс-миксин для создания строго статических классов. Запрещает создание любых экземпляров данного класса или его наследников.
- class EJIO.utils.interface.StaticClassMeta(name: str, bases: tuple[type, ...], attrs: dict[str, Any])[исходный код]¶
Базовые классы:
DisposableMetaМетакласс, запрещающий создание экземпляров.
- class EJIO.utils.interface.ThreadSafePrototypeMixin(*args: object, **kwargs: object)[исходный код]¶
Базовые классы:
PrototypeМиксин-реализация для создания потокобезопасных прототипов. Использует Threading Lock для предотвращения состояния гонки при чтении/копировании.
- clone() Self[исходный код]¶
Потокобезопасное поверхностное копирование.
- Результат:
Поверхностную копию объекта.
- deep_clone() Self[исходный код]¶
Потокобезопасное глубокое копирование.
- Результат:
Полную копию объекта.
- class EJIO.utils.interface.Tupleable(*args, **kwargs)[исходный код]¶
Базовые классы:
ProtocolИнтерфейс объектов, которые поддерживают преобразование в/из кортеж (tuple).
- abstractmethod classmethod from_tuple(data: list[T]) Self[исходный код]¶
Восстановить объект из кортежа.
- Параметры:
data – Кортеж с данными.
- Результат:
Новый объект, созданный из этого кортежа.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- abstractmethod to_tuple() list[T][исходный код]¶
Преобразовать объект в кортеж.
- Результат:
Кортеж, отражающий состояние объекта.
- Исключение:
NotImplementedError – Должен быть реализован в подклассе.
- class EJIO.utils.interface.static_property(func: Callable[[...], Any])[исходный код]¶
Базовые классы:
objectКастомный маркер-дескриптор для объявления вычисляемых свойств внутри изменяемых статических структур.