aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/Config/Lexicon/Strictness.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/public/Config/Lexicon/Strictness.php')
-rw-r--r--lib/public/Config/Lexicon/Strictness.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/public/Config/Lexicon/Strictness.php b/lib/public/Config/Lexicon/Strictness.php
new file mode 100644
index 00000000000..8136499cb3e
--- /dev/null
+++ b/lib/public/Config/Lexicon/Strictness.php
@@ -0,0 +1,31 @@
+<?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\Consumable;
+
+/**
+ * Strictness regarding using not-listed config keys
+ *
+ * - **Strictness::IGNORE** - fully ignore
+ * - **Strictness::NOTICE** - ignore and report
+ * - **Strictness::WARNING** - silently block (returns $default) and report
+ * - **Strictness::EXCEPTION** - block (throws exception) and report
+ */
+#[Consumable(since: '32.0.0')]
+enum Strictness {
+ /** @since 32.0.0 */
+ case IGNORE; // fully ignore
+ /** @since 32.0.0 */
+ case NOTICE; // ignore and report
+ /** @since 32.0.0 */
+ case WARNING; // silently block (returns $default) and report
+ /** @since 32.0.0 */
+ case EXCEPTION; // block (throws exception) and report
+}