/* * Decompiled with CFR 0.152. */ package de.maxhenkel.voicechat.configbuilder.custom; import java.util.Collection; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; public class AbstractValueMap implements Map { protected final Map map; protected AbstractValueMap(Map map) { this.map = Collections.unmodifiableMap(new LinkedHashMap(map)); } @Override public int size() { return this.map.size(); } @Override public boolean isEmpty() { return this.map.isEmpty(); } @Override public boolean containsKey(Object key) { return this.map.containsKey(key); } @Override public boolean containsValue(Object value) { return this.map.containsValue(value); } @Override public V get(Object key) { return this.map.get(key); } @Override public V put(K key, V value) { return (V)AbstractValueMap.throwException(); } @Override public V remove(Object key) { return (V)AbstractValueMap.throwException(); } @Override public void putAll(Map m) { AbstractValueMap.throwException(); } @Override public void clear() { AbstractValueMap.throwException(); } @Override public Set keySet() { return this.map.keySet(); } @Override public Collection values() { return this.map.values(); } @Override public Set> entrySet() { return this.map.entrySet(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || this.getClass() != o.getClass()) { return false; } AbstractValueMap that = (AbstractValueMap)o; return this.map.equals(that.map); } @Override public int hashCode() { return this.map.hashCode(); } private static T throwException() { throw new UnsupportedOperationException("Can't modify config entries"); } public static abstract class Builder> { protected final Map map = new LinkedHashMap(); protected Builder() { } public Builder put(K key, V value) { this.map.put(key, value); return this; } public Builder putAll(Map map) { this.map.putAll(map); return this; } public abstract M build(); } }