ContextMap.java 1.56 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.day.commons.simplejndi.impl;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.naming.NamingException;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
public class ContextMap {
    private static ContextMap instance = new ContextMap();
    private Map<String, Object> sharedMap = new HashMap<String, Object>();

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public void bind(String key, Object value) throws NamingException {
        if (key == null) {
            throw new NamingException();
        }
        Map<String, Object> map = this.sharedMap;
        synchronized (map) {
            this.sharedMap.put(key, value);
        }
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    public void unbind(String key) {
        Map<String, Object> map = this.sharedMap;
        synchronized (map) {
            if (this.sharedMap.containsKey(key)) {
                this.sharedMap.remove(key);
            }
        }
    }

    public Map<String, Object> getBindings() {
        return Collections.unmodifiableMap(this.sharedMap);
    }

    public static ContextMap getInstance() {
        return instance;
    }

    /*
     * WARNING - Removed try catching itself - possible behaviour change.
     */
    void clear() {
        Map<String, Object> map = this.sharedMap;
        synchronized (map) {
            this.sharedMap.clear();
        }
    }
}