From cc27edc544cec1b892e7c224aec9e6e42342aa39 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sat, 21 Sep 2024 22:10:24 +0200 Subject: refactor: use package name following Java guidelines --- .../java/dev/dnpm/services/SettingsService.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/dev/dnpm/services/SettingsService.java (limited to 'src/main/java/dev/dnpm/services/SettingsService.java') diff --git a/src/main/java/dev/dnpm/services/SettingsService.java b/src/main/java/dev/dnpm/services/SettingsService.java new file mode 100644 index 0000000..8aa5f6b --- /dev/null +++ b/src/main/java/dev/dnpm/services/SettingsService.java @@ -0,0 +1,47 @@ +package dev.dnpm.services; + +import dev.dnpm.database.SettingsRepository; + +import java.util.Optional; + +/** + * Implementiert den Dienst zur Ermittlung von Systemeinstellungen + */ +public class SettingsService { + + private final SettingsRepository settingsRepository; + + public SettingsService(final SettingsRepository settingsRepository) { + this.settingsRepository = settingsRepository; + } + + /** + * Übergibt ein Optional für die Einstellung mit angegebenen Namen + * @param name Name der Einstellung + * @return Optional mit Wert der Einstellung oder ein leeres Optional, wenn Einstellung nicht gefunden + */ + public Optional getSetting(String name) { + var sid = settingsRepository.findByName(name); + if (null == sid) { + return Optional.empty(); + } + return Optional.of(sid.getValue()); + } + + /** + * Übergibt die SID als Optional + * @return Optional mit Wert der SID + */ + public Optional getSID() { + return getSetting("SID"); + } + + /** + * Übergibt die Einstellung für mehrere_mtb_in_mtbepisode + * @return Übergibt true, wenn mehrere_mtb_in_mtbepisode auf "Ja" gesetzt ist. + */ + public boolean multipleMtbsInMtbEpisode() { + var setting = getSetting("mehrere_mtb_in_mtbepisode"); + return setting.isPresent() && setting.get().equals("true"); + } +} -- cgit v1.2.3