pip_services3_data.persistence.FilePersistence module

pip_services3_data.persistence.FilePersistence

File persistence implementation.

copyright

Conceptual Vision Consulting LLC 2018-2019, see AUTHORS for more details.

license

MIT, see LICENSE for more details.

class pip_services3_data.persistence.FilePersistence.FilePersistence(persister: Optional[pip_services3_data.persistence.JsonFilePersister.JsonFilePersister] = None)

Bases: pip_services3_data.persistence.MemoryPersistence.MemoryPersistence, pip_services3_commons.config.IConfigurable.IConfigurable

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

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 self._items property and calling :func:save method.

### Configuration parameters ###
  • path: path to the file where data is stored

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

Example:

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

    def get_by_name(self, correlationId, name):
        item = self.find(name)
        ...
        return item
configure(config: pip_services3_commons.config.ConfigParams.ConfigParams)

Configures component by passing configuration parameters.

Parameters

config – configuration parameters to be set.