Source code for jivago.config.properties.global_config_loader

from typing import List

from jivago.config.properties.application_config_loader import ApplicationConfigLoader
from jivago.config.properties.application_properties import ApplicationProperties
from jivago.lang.annotations import Override
from jivago.lang.stream import Stream


[docs]class GlobalConfigLoader(ApplicationConfigLoader): def __init__(self, application_config_loaders: List[ApplicationConfigLoader]): self.application_config_loaders = application_config_loaders
[docs] @Override def matches(self, filepath: str) -> bool: return Stream(self.application_config_loaders).anyMatch(lambda loader: loader.matches(filepath))
[docs] @Override def read(self, filepath: str) -> ApplicationProperties: return Stream(self.application_config_loaders).firstMatch(lambda loader: loader.matches(filepath)).read(filepath)