aboutsummaryrefslogtreecommitdiff
path: root/libraries/launcher
diff options
context:
space:
mode:
authorsolonovamax <solonovamax@12oclockpoint.com>2022-10-27 18:01:17 -0400
committerTheKodeToad <TheKodeToad@proton.me>2022-11-08 16:25:09 +0000
commit9062d28704f8508a031612f102c27a63b3655e0a (patch)
treed67c196132f565bbe2911a3e313736de311bcac9 /libraries/launcher
parente68dcea6bcb5830659d17db40fc9a83a4eca9cc0 (diff)
downloadPrismLauncher-9062d28704f8508a031612f102c27a63b3655e0a.tar.gz
PrismLauncher-9062d28704f8508a031612f102c27a63b3655e0a.tar.bz2
PrismLauncher-9062d28704f8508a031612f102c27a63b3655e0a.zip
Get rid of singleton, and refactor LauncherFactory to be a static class
Signed-off-by: solonovamax <solonovamax@12oclockpoint.com>
Diffstat (limited to 'libraries/launcher')
-rw-r--r--libraries/launcher/org/prismlauncher/EntryPoint.java5
-rw-r--r--libraries/launcher/org/prismlauncher/LauncherFactory.java31
2 files changed, 17 insertions, 19 deletions
diff --git a/libraries/launcher/org/prismlauncher/EntryPoint.java b/libraries/launcher/org/prismlauncher/EntryPoint.java
index 73ff9753..37db6a5d 100644
--- a/libraries/launcher/org/prismlauncher/EntryPoint.java
+++ b/libraries/launcher/org/prismlauncher/EntryPoint.java
@@ -138,10 +138,7 @@ public final class EntryPoint {
}
try {
- Launcher launcher =
- LauncherFactory
- .INSTANCE
- .createLauncher(params);
+ Launcher launcher = LauncherFactory.createLauncher(params);
launcher.launch();
diff --git a/libraries/launcher/org/prismlauncher/LauncherFactory.java b/libraries/launcher/org/prismlauncher/LauncherFactory.java
index 354ad1f0..5b18cc5f 100644
--- a/libraries/launcher/org/prismlauncher/LauncherFactory.java
+++ b/libraries/launcher/org/prismlauncher/LauncherFactory.java
@@ -35,6 +35,7 @@
package org.prismlauncher;
+
import org.prismlauncher.impl.LegacyLauncher;
import org.prismlauncher.impl.StandardLauncher;
import org.prismlauncher.utils.Parameters;
@@ -42,13 +43,11 @@ import org.prismlauncher.utils.Parameters;
import java.util.HashMap;
import java.util.Map;
-public final class LauncherFactory {
-
- public static final LauncherFactory INSTANCE = new LauncherFactory();
-
- private final Map<String, LauncherProvider> launcherRegistry = new HashMap<>();
- private LauncherFactory() {
+public final class LauncherFactory {
+ private static final Map<String, LauncherProvider> launcherRegistry = new HashMap<>();
+
+ static {
launcherRegistry.put("standard", new LauncherProvider() {
@Override
public Launcher provide(Parameters parameters) {
@@ -62,22 +61,24 @@ public final class LauncherFactory {
}
});
}
-
- public Launcher createLauncher(Parameters parameters) {
+ private LauncherFactory() {
+ }
+
+ public static Launcher createLauncher(Parameters parameters) {
String name = parameters.first("launcher");
-
+
LauncherProvider launcherProvider = launcherRegistry.get(name);
-
+
if (launcherProvider == null)
throw new IllegalArgumentException("Invalid launcher type: " + name);
-
+
return launcherProvider.provide(parameters);
}
-
+
public interface LauncherProvider {
-
+
Launcher provide(Parameters parameters);
-
+
}
-
+
}