summaryrefslogtreecommitdiff
path: root/src/main/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactory.java')
-rw-r--r--src/main/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactory.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactory.java b/src/main/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactory.java
new file mode 100644
index 0000000..59d956c
--- /dev/null
+++ b/src/main/java/dev/dnpm/services/therapieplan/TherapieplanServiceFactory.java
@@ -0,0 +1,33 @@
+package dev.dnpm.services.therapieplan;
+
+import dev.dnpm.services.FormService;
+import dev.dnpm.services.SettingsService;
+import de.itc.onkostar.api.IOnkostarApi;
+
+public class TherapieplanServiceFactory {
+
+ private final IOnkostarApi onkostarApi;
+
+ private final SettingsService settingsService;
+
+ private final FormService formService;
+
+ public TherapieplanServiceFactory(
+ final IOnkostarApi onkostarApi,
+ final SettingsService settingsService,
+ final FormService formService
+ ) {
+ this.onkostarApi = onkostarApi;
+ this.settingsService = settingsService;
+ this.formService = formService;
+ }
+
+ public TherapieplanService currentUsableInstance() {
+ if (settingsService.multipleMtbsInMtbEpisode()) {
+ return new MultipleMtbTherapieplanService(onkostarApi, formService);
+ }
+
+ return new DefaultTherapieplanService(onkostarApi, formService);
+ }
+
+}