All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bidib.wizard.main.DefaultApplicationContext Maven / Gradle / Ivy

There is a newer version: 2.0.0-M1
Show newest version
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