mirror of
https://github.com/GravitLauncher/Launcher
synced 2025-01-25 16:49:40 +03:00
32 lines
1.1 KiB
Java
32 lines
1.1 KiB
Java
|
package ru.gravit.launchserver.manangers;
|
||
|
|
||
|
import ru.gravit.launchserver.Reconfigurable;
|
||
|
import ru.gravit.utils.helper.LogHelper;
|
||
|
import ru.gravit.utils.helper.VerifyHelper;
|
||
|
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Objects;
|
||
|
|
||
|
public class ReconfigurableManager {
|
||
|
private final HashMap<String, Reconfigurable> RECONFIGURABLE = new HashMap<>();
|
||
|
public void registerReconfigurable(String name, Reconfigurable reconfigurable)
|
||
|
{
|
||
|
VerifyHelper.verifyIDName(name);
|
||
|
VerifyHelper.putIfAbsent(RECONFIGURABLE, name, Objects.requireNonNull(reconfigurable, "adapter"),
|
||
|
String.format("Reloadable has been already registered: '%s'", name));
|
||
|
}
|
||
|
public void printHelp(String name)
|
||
|
{
|
||
|
RECONFIGURABLE.get(name).printConfigHelp();
|
||
|
}
|
||
|
public void call(String name, String action, String[] args) throws Exception {
|
||
|
RECONFIGURABLE.get(name).reconfig(action,args);
|
||
|
}
|
||
|
public void printReconfigurables()
|
||
|
{
|
||
|
LogHelper.info("Print reconfigurables");
|
||
|
RECONFIGURABLE.forEach((k, v) -> LogHelper.subInfo(k));
|
||
|
LogHelper.info("Found %d reconfigurables", RECONFIGURABLE.size());
|
||
|
}
|
||
|
}
|