
org.bidib.wizard.main.DefaultApplicationContext Maven / Gradle / Ivy
package org.bidib.wizard.main;
import java.util.LinkedHashMap;
import java.util.Map;
public class DefaultApplicationContext implements ApplicationContext {
private Map registry = new LinkedHashMap<>();
public static final String KEY_NODE_LABELS = "nodeLabels";
public static final String KEY_MACRO_LABELS = "macroLabels";
public static final String KEY_ACCESSORY_LABELS = "accessoryLabels";
public static final String KEY_SWITCHPORT_LABELS = "switchPortLabels";
public static final String KEY_SERVOPORT_LABELS = "servoPortLabels";
public static final String KEY_INPUTPORT_LABELS = "inputPortLabels";
public static final String KEY_ANALOGPORT_LABELS = "analogPortLabels";
public static final String KEY_FEEDBACKPORT_LABELS = "feedbackPortLabels";
public static final String KEY_LIGHTPORT_LABELS = "lightPortLabels";
public static final String KEY_BACKLIGHTPORT_LABELS = "backlightPortLabels";
public static final String KEY_MOTORPORT_LABELS = "motorPortLabels";
public static final String KEY_SOUNDPORT_LABELS = "soundPortLabels";
public static final String KEY_PORTS_PROVIDER = "portsProvider";
public static final String KEY_MAINNODELISTLISTENER = "mainNodeListListener";
public static final String KEY_CONSOLE_MODEL = "consoleModel";
private static ApplicationContext INSTANCE;
public static synchronized ApplicationContext getInstance() {
if (INSTANCE == null) {
INSTANCE = new DefaultApplicationContext();
}
return INSTANCE;
}
@Override
public Object register(String key, Object content) {
return registry.put(key, content);
}
@Override
public Object unregister(String key) {
return registry.remove(key);
}
@Override
public Object get(String key) {
return registry.get(key);
}
@Override
public T get(String key, Class type) {
return get(type, get(key));
}
protected T get(Class type, Object body) {
// if same type
if (type.isInstance(body)) {
return type.cast(body);
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy