0
0
mirror of https://github.com/nextcloud/server.git synced 2024-12-30 17:08:35 +00:00
nextcloud_server/lib/unstable/Config/Lexicon/IConfigLexicon.php
Maxence Lange 96586ba709 feat(config): implementation of lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-12-13 11:08:20 -01:00

45 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace NCU\Config\Lexicon;
/**
* This interface needs to be implemented if you want to define a config lexicon for your application
* The config lexicon is used to avoid conflicts and problems when storing/retrieving config values
*
* @experimental 31.0.0
*/
interface IConfigLexicon {
/**
* Define the expected behavior when using config
* keys not set within your application config lexicon.
*
* @see ConfigLexiconStrictness
* @return ConfigLexiconStrictness
* @experimental 31.0.0
*/
public function getStrictness(): ConfigLexiconStrictness;
/**
* define the list of entries of your application config lexicon, related to AppConfig.
*
* @return ConfigLexiconEntry[]
* @experimental 31.0.0
*/
public function getAppConfigs(): array;
/**
* define the list of entries of your application config lexicon, related to UserPreferences.
*
* @return ConfigLexiconEntry[]
* @experimental 31.0.0
*/
public function getUserConfigs(): array;
}