aboutsummaryrefslogtreecommitdiff
path: root/libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java')
-rw-r--r--libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java b/libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java
index 6c601171..761a4595 100644
--- a/libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java
+++ b/libraries/launcher/org/prismlauncher/launcher/LauncherFactory.java
@@ -35,7 +35,6 @@
package org.prismlauncher.launcher;
-
import org.prismlauncher.launcher.impl.LegacyLauncher;
import org.prismlauncher.launcher.impl.StandardLauncher;
import org.prismlauncher.utils.Parameters;
@@ -43,10 +42,10 @@ import org.prismlauncher.utils.Parameters;
import java.util.HashMap;
import java.util.Map;
-
public final class LauncherFactory {
+
private static final Map<String, LauncherProvider> launcherRegistry = new HashMap<>();
-
+
static {
launcherRegistry.put("standard", new LauncherProvider() {
@Override
@@ -63,15 +62,15 @@ public final class LauncherFactory {
}
private LauncherFactory() {
}
-
+
public static Launcher createLauncher(Parameters parameters) {
String name = parameters.getString("launcher");
-
+
LauncherProvider launcherProvider = launcherRegistry.get(name);
-
+
if (launcherProvider == null)
throw new IllegalArgumentException("Invalid launcher type: " + name);
-
+
return launcherProvider.provide(parameters);
}
}