Библиотека для формирования конфигураций, которые содержат список пар ключ-значение. Она предоставляет удобный API для доступа к значениям этих конфигураций через класс FeatureConfigsManager
.
Для добавления библиотеки в ваш проект, добавьте следующий dependency в ваш build.gradle
файл:
dependencies {
implementation 'ru.kode.plexus:core:1.0'
}
Для создания экземпляра FeatureConfigsManager
, используйте FeatureConfigsBuilder
. Вы можете добавлять различные конфигурации перед сборкой менеджера:
val configsManager = FeatureConfigsBuilder()
.addConfig(DebugConfig())
.addConfig(FirebaseConfig())
.addConfig(LocalConfig())
.build()
FeatureConfigsManager
предоставляет следующие методы для получения значений:
- Синхронное получение значения:
val value: String = configsManager.getFeatureValueSync("your_key")
- Асинхронное получение значения с использованием Flow:
val flowValue: Flow<String> = configsManager.getFeatureValue("your_key")
- Асинхронное получение значений для нескольких ключей:
val flowValues: Flow<Map<String, String>> = configsManager.getFeaturesValue(listOf("your_key1", "your_key2"))
- Получение значения осуществляется с учетом порядка конфигурации при добавлении в менеджер. Это значит, что значения из конфигурации, добавленной первой, будет получено в порядке приорита и т.д.
- Если для указанного ключа не найдено соответствующее значение во всех конфигурациях, будет выброшено исключение.