FilePersistence

Abstract persistence component that stores data in flat files and caches them in memory.

Implements: MemoryPersistence, IConfigurable

Description

The FilePersistence class allows you to create persistence components that store data in flat files and chache them in memory.

Important points

  • This is the most basic persistence component that is only able to store data items of any type.
  • Specific CRUD operations over the data items must be implemented in child classes by accessing the self._items property and calling the save method.

Configuration parameters

  • path: path to the file where data is stored

References

  • *:logger:*:*:1.0 - (optional) ILogger components to pass log messages

Constructors

Creates a new instance of the file persistence component.

FilePersistence(persister: Optional[JsonFilePersister] = None)

  • persister: JsonFilePersister - (optional) persister component that loads and saves data from/to a flat file.

Fields

_persister

JSON file persister.

_persister: JsonFilePersister

Instance methods

configure

Configures the component by passing its configuration parameters.

configure(config: ConfigParams)

  • config: ConfigParams - configuration parameters to be set.

Examples

class MyJsonFilePersistence(FilePersistence):
    def __init__(self, path):
        super(MyJsonFilePersistence, self).__init__(JsonPersister(path))

    def get_by_name(self, correlation_id, name):
        item = self.find(name)
        ...
        return item

See also