Source code for pyzeal.settings.ram_settings_service

"""
A simple in-memory implementation of the `SettingsService` interface. Instances
of this service do not persist settings beyond program runtime. Their main use
is during testing of components which depend on settings.

Authors:\n
- Philipp Schuette\n
"""

from typing import Tuple

from pyzeal.pyzeal_logging.log_levels import LogLevel
from pyzeal.pyzeal_types.algorithm_types import AlgorithmTypes
from pyzeal.pyzeal_types.container_types import ContainerTypes
from pyzeal.pyzeal_types.estimator_types import EstimatorTypes
from pyzeal.settings.settings_service import SettingsService


[docs] class RAMSettingsService(SettingsService): "Simple, non-persistent implementation of `SettingsService`."
[docs] def __init__( self, container: ContainerTypes = ContainerTypes.ROUNDING_CONTAINER, algorithm: AlgorithmTypes = AlgorithmTypes.SIMPLE_ARGUMENT, estimator: EstimatorTypes = EstimatorTypes.SUMMATION_ESTIMATOR, logLevel: LogLevel = LogLevel.NOTSET, precision: Tuple[int, int] = (0, 0), verbose: bool = False, ) -> None: """ Initialize a new in-memory settings service with given default values. :param : :param : :param : :param : :param : :param : """ self._container = container self._algorithm = algorithm self._estimator = estimator self._logLevel = logLevel self._precision = precision self._verbose = verbose
# docstr-coverage:inherited @property def defaultContainer(self) -> ContainerTypes: return self._container # docstr-coverage:inherited @defaultContainer.setter def defaultContainer(self, value: ContainerTypes) -> None: self._container = value # docstr-coverage:inherited @property def defaultAlgorithm(self) -> AlgorithmTypes: return self._algorithm # docstr-coverage:inherited @defaultAlgorithm.setter def defaultAlgorithm(self, value: AlgorithmTypes) -> None: self._algorithm = value # docstr-coverage:inherited @property def defaultEstimator(self) -> EstimatorTypes: return self._estimator # docstr-coverage:inherited @defaultEstimator.setter def defaultEstimator(self, value: EstimatorTypes) -> None: self._estimator = value # docstr-coverage:inherited @property def logLevel(self) -> LogLevel: return self._logLevel # docstr-coverage:inherited @logLevel.setter def logLevel(self, value: LogLevel) -> None: self._logLevel = value # docstr-coverage:inherited @property def verbose(self) -> bool: return self._verbose # docstr-coverage:inherited @verbose.setter def verbose(self, value: bool) -> None: self._verbose = value # docstr-coverage:inherited @property def precision(self) -> Tuple[int, int]: return self._precision # docstr-coverage:inherited @precision.setter def precision(self, value: Tuple[int, int]) -> None: self._precision = value