package kpc.api.language; import java.util.HashMap; import java.util.Map; public final class LanguageRegistry{ private static final Map<String, LanguageRuntime> runtimes = new HashMap<>(); public static void register(String ext, LanguageRuntime runtime){ if(ext != null && !ext.trim().isEmpty()){ if(runtimes.containsKey(ext.trim())){ return; } System.out.println("Registering Runtime For: " + ext.trim()); runtimes.put(ext.trim(), runtime); } } public static LanguageRuntime getLanguage(String ext){ if(!runtimes.containsKey(ext.trim())){ throw new NullPointerException("Runtime for " + ext.trim() + " isn't registered"); } return runtimes.get(ext.trim()); } }