package xapi.collect.impl; import xapi.collect.api.StringDictionary; import xapi.fu.In2; import xapi.util.api.ReceivesValue; public class StringDictionaryDefault <V> extends StringToAbstract<V> implements StringDictionary<V>{ private static final long serialVersionUID = 7852257257033178551L; public StringDictionaryDefault() { super(Class.class.cast(Object.class)); // a filthy lie... :-/ } public StringDictionaryDefault(Class<V> cls) {super(cls);} @Override public boolean hasKey(final String key) { return containsKey(key); } @Override public V getValue(final String key) { return get(key); } @Override public V setValue(final String key, final V value) { return put(key, value); } @Override public V removeValue(final String key) { return remove(key); } @Override public void clearValues() { clear(); } @Override public void forKeys(final ReceivesValue<String> receiver) { for (final String key : keyArray()) { receiver.set(key); } } @Override public void forEach(In2<String, V> callback) { forKeys(key->callback.in(key, getValue(key))); } }