package org.jrack.context; import org.jrack.Context; import java.util.Iterator; import java.util.Map; /** * a Context useful as a fall-back - all keys map to a single default value */ public class DefaultContext<T> implements Context<T> { private T value; public DefaultContext(T value) { this.value = value; } @SuppressWarnings("unchecked") @Override public Iterator<Map.Entry<String, Object>> iterator() { return EmptyIterator.it; } @Override public Object getObject(String key) { return value; } @Override public T get(String key) { return value; } @Override public Context<T> with(String key, Object value) { throw new UnsupportedOperationException("Cannot add to DefaultContext"); } @Override public Object remove(String key) { throw new UnsupportedOperationException("Cannot remove from DefaultContext"); } }