public CaseInsensitiveConcurrentHashMap(Properties prop) { this(prop.size()); putAll(prop); }
@Override public V put(String key, V value) { return super.put(toUpper(key), value); }
@Override public void putAll(Map<? extends String, ? extends V> m) { for (Map.Entry<? extends String, ? extends V> e : m.entrySet()) { put(e.getKey(), e.getValue()); } }
private LealoneDatabase() { super(ID, NAME, null); databases = new CaseInsensitiveConcurrentHashMap<>(); databases.put(NAME, this); INSTANCE = this; // init执行过程中会触发getInstance(),此时INSTANCE为null,会导致NPE init(); createRootUserIfNotExists(); DatabaseManager.setDatabases(databases); }
@SuppressWarnings("unchecked") public void putAll(Properties prop) { for (Entry<Object, Object> e : prop.entrySet()) { put(e.getKey().toString(), (V) e.getValue().toString()); } }
@Override public V remove(Object key) { return super.remove(toUpper(key)); }
public CaseInsensitiveConcurrentHashMap(Map<? extends String, ? extends V> m) { this(m.size()); putAll(m); }
@Override public V get(Object key) { return super.get(toUpper(key)); }
@Override public boolean containsKey(Object key) { return super.containsKey(toUpper(key)); }