diff options
Diffstat (limited to 'lib/public/Config/Lexicon/ILexicon.php')
-rw-r--r-- | lib/public/Config/Lexicon/ILexicon.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/public/Config/Lexicon/ILexicon.php b/lib/public/Config/Lexicon/ILexicon.php new file mode 100644 index 00000000000..05bf5967f24 --- /dev/null +++ b/lib/public/Config/Lexicon/ILexicon.php @@ -0,0 +1,45 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +namespace OCP\Config\Lexicon; + +use OCP\AppFramework\Attribute\Implementable; + +/** + * 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 + */ +#[Implementable(since: '32.0.0')] +interface ILexicon { + + /** + * Define the expected behavior when using config + * keys not set within your application config lexicon. + * + * @return Strictness + * @since 32.0.0 + *@see Strictness + */ + public function getStrictness(): Strictness; + + /** + * define the list of entries of your application config lexicon, related to AppConfig. + * + * @return Entry[] + * @since 32.0.0 + */ + public function getAppConfigs(): array; + + /** + * define the list of entries of your application config lexicon, related to UserPreferences. + * + * @return Entry[] + * @since 32.0.0 + */ + public function getUserConfigs(): array; +} |