Files
create/src/Base/Persistence.pyi
2025-11-11 19:34:32 +00:00

46 lines
1.3 KiB
Python

# SPDX-License-Identifier: LGPL-2.1-or-later
from __future__ import annotations
from Metadata import constmethod
from BaseClass import BaseClass
from typing import Final
class Persistence(BaseClass):
"""
Base.Persistence class.
Class to dump and restore the content of an object.
Author: Juergen Riegel (FreeCAD@juergen-riegel.net)
Licence: LGPL
"""
Content: Final[str] = ""
"""Content of the object in XML representation."""
MemSize: Final[int] = 0
"""Memory size of the object in bytes."""
@constmethod
def dumpContent(self, Compression: int = 3) -> bytearray:
"""
Dumps the content of the object, both the XML representation and the additional
data files required, into a byte representation.
Compression : int
Set the data compression level in the range [0,9]. Set to 0 for no compression.
"""
...
def restoreContent(self, obj: object, /) -> None:
# TODO: Starting with Python 3.12, collections.abc.Buffer can be used for type hinting
"""
Restore the content of the object from a byte representation as stored by `dumpContent`.
It could be restored from any Python object implementing the buffer protocol.
obj : buffer
Object with buffer protocol support.
"""
...