Comment initialiser Java enum basé Singleton?

Quelle est la bonne façon d'initialiser enum de java à base de singleton, si je dois l'initialiser avant que je puisse utiliser l'objet.

J'ai commencé à écrire du code , mais je ne suis pas sûr si je suis en train de faire. Pourriez-vous m'aider à mettre en œuvre ce singleton correct pour moi?

public enum BitCheck {

    INSTANCE;

    private static HashMap<String, String> props = null;

    public synchronized void  initialize(HashMap<String, String> properties) {
        if(props == null) {
            props = properties;
        }
    }

    public boolean isAenabled(){
        return "Y".equalsIgnoreCase(props.get("A_ENABLED"));
    }

    public boolean isBenabled(){
        return "Y".equalsIgnoreCase(props.get("B_ENABLED"));
    }

}

source d'informationauteur java_mouse