diff options
| author | Paul-Christian Volkmer | 2023-03-20 22:59:02 +0100 |
|---|---|---|
| committer | GitHub | 2023-03-20 22:59:02 +0100 |
| commit | 7fe580733c1354ef8ea5a7071aeae6818a97f7cf (patch) | |
| tree | 271dc83ad9f4f4e72250b396662db92f3e37bfbe /src/main/java/DNPM/services/SettingsService.java | |
| parent | a8a5e1be8a8bc8a048106b608fa4f58d80a66444 (diff) | |
| parent | aad777b5e36238ef437210bd9ad3ea51c3274a45 (diff) | |
Merge pull request #12 from CCC-MF/issue_11
Übernahme des MTB-Protokolls in DNPM-Therapieplan - Protokollauszug
Diffstat (limited to 'src/main/java/DNPM/services/SettingsService.java')
| -rw-r--r-- | src/main/java/DNPM/services/SettingsService.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/DNPM/services/SettingsService.java b/src/main/java/DNPM/services/SettingsService.java new file mode 100644 index 0000000..7459d4e --- /dev/null +++ b/src/main/java/DNPM/services/SettingsService.java @@ -0,0 +1,47 @@ +package DNPM.services; + +import 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 <code>Optional</code> 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<String> getSetting(String name) { + var sid = settingsRepository.findByName(name); + if (null == sid) { + return Optional.empty(); + } + return Optional.of(sid.getValue()); + } + + /** + * Übergibt die SID als <code>Optional</code> + * @return Optional mit Wert der SID + */ + public Optional<String> getSID() { + return getSetting("SID"); + } + + /** + * Übergibt die Einstellung für <code>mehrere_mtb_in_mtbepisode</code> + * @return Übergibt <code>true</code>, wenn <code>mehrere_mtb_in_mtbepisode</code> auf "Ja" gesetzt ist. + */ + public boolean multipleMtbsInMtbEpisode() { + var setting = getSetting("mehrere_mtb_in_mtbepisode"); + return setting.isPresent() && setting.get().equals("true"); + } +} |
