package com.softwaremill.common.conf; import java.util.Collection; import java.util.Map; import java.util.Set; /** * Created by Pawel Stawicki on Feb 24, 2011 12:22:36 PM */ public class MapWrapper implements Config<String, String> { protected Map<String, String> delegate; public MapWrapper(Map<String, String> map) { this.delegate = map; } @Override public String get(String key, String defaultValue) { final String fromMap = delegate.get(key); return fromMap != null ? fromMap : defaultValue; } @Override public int getAsInt(String key, int defaultValue) { final String fromMap = delegate.get(key); return fromMap != null ? Integer.parseInt(fromMap) : defaultValue; } @Override public double getAsDouble(String key, double defaultValue) { final String fromMap = delegate.get(key); return fromMap != null ? Double.parseDouble(fromMap) : defaultValue; } @Override public boolean getAsBoolean(String key, boolean defaultValue) { final String fromMap = delegate.get(key); return fromMap != null ? Boolean.parseBoolean(fromMap) : defaultValue; } @Override public long getAsLong(String key, long defaultValue) { final String fromMap = delegate.get(key); return fromMap != null ? Long.parseLong(fromMap) : defaultValue; } @Override public int size() { return delegate.size(); } @Override public boolean isEmpty() { return delegate.isEmpty(); } @Override public boolean containsKey(Object key) { return delegate.containsKey(key); } @Override public boolean containsValue(Object value) { return delegate.containsValue(value); } @Override public String get(Object key) { return delegate.get(key); } @Override public String put(String key, String value) { return delegate.put(key, value); } @Override public String remove(Object key) { return delegate.remove(key); } @Override public void putAll(Map<? extends String, ? extends String> m) { delegate.putAll(m); } @Override public void clear() { delegate.clear(); } @Override public Set<String> keySet() { return delegate.keySet(); } @Override public Collection<String> values() { return delegate.values(); } @Override public Set<Entry<String, String>> entrySet() { return delegate.entrySet(); } }