From a11ef5134cb4200399e74811bbf9d1100923efcd Mon Sep 17 00:00:00 2001 From: Joas Schilling <coding@schilljs.com> Date: Wed, 6 Feb 2019 17:07:20 +0100 Subject: [PATCH] Add methods to get casted system values Signed-off-by: Joas Schilling <coding@schilljs.com> --- lib/private/AllConfig.php | 36 ++++++++++++++++++++++++++++++++++++ lib/public/IConfig.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/lib/private/AllConfig.php b/lib/private/AllConfig.php index 09520aae2a9..05ac1bad64b 100644 --- a/lib/private/AllConfig.php +++ b/lib/private/AllConfig.php @@ -125,6 +125,42 @@ class AllConfig implements \OCP\IConfig { return $this->systemConfig->getValue($key, $default); } + /** + * Looks up a boolean system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param mixed $default the default value to be returned if the value isn't set + * @return mixed the value or $default + * @since 16.0.0 + */ + public function getSystemValueBool(string $key, bool $default = false): bool { + return (bool) $this->getSystemValue($key, $default); + } + + /** + * Looks up an integer system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param mixed $default the default value to be returned if the value isn't set + * @return mixed the value or $default + * @since 16.0.0 + */ + public function getSystemValueInt(string $key, int $default = 0): int { + return (int) $this->getSystemValue($key, $default); + } + + /** + * Looks up a string system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param mixed $default the default value to be returned if the value isn't set + * @return mixed the value or $default + * @since 16.0.0 + */ + public function getSystemValueString(string $key, string $default = ''): string { + return (string) $this->getSystemValue($key, $default); + } + /** * Looks up a system wide defined value and filters out sensitive data * diff --git a/lib/public/IConfig.php b/lib/public/IConfig.php index e4cd158f872..878c0acf0c3 100644 --- a/lib/public/IConfig.php +++ b/lib/public/IConfig.php @@ -74,6 +74,36 @@ interface IConfig { */ public function getSystemValue($key, $default = ''); + /** + * Looks up a boolean system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param bool $default the default value to be returned if the value isn't set + * @return bool the value or $default + * @since 16.0.0 + */ + public function getSystemValueBool(string $key, bool $default = false): bool; + + /** + * Looks up an integer system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param int $default the default value to be returned if the value isn't set + * @return int the value or $default + * @since 16.0.0 + */ + public function getSystemValueInt(string $key, int $default = 0): int; + + /** + * Looks up a string system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param string $default the default value to be returned if the value isn't set + * @return string the value or $default + * @since 16.0.0 + */ + public function getSystemValueString(string $key, string $default = ''): string; + /** * Looks up a system wide defined value and filters out sensitive data * -- GitLab