package org.atomhopper.util.uri.template; import java.util.Collections; import java.util.HashMap; import java.util.Map; //TODO: Consider making domain scoped child classes with helper methods // Something like setMarker(String markerId) or setPageLimit(int pageLimit) public class EnumKeyedTemplateParameters<T extends Enum> implements TemplateParameters<T> { private final T temlpateTargetKey; private final Map<String, Object> parameterMap; public EnumKeyedTemplateParameters(T temlpateTargetKey) { this.temlpateTargetKey = temlpateTargetKey; this.parameterMap = new HashMap<String, Object>(); } @Override public void set(URITemplateParameter parameter, Object value) { parameterMap.put(parameter.toString(), value); } @Override public Map<String, Object> toMap() { return Collections.unmodifiableMap(parameterMap); } @Override public T getTargetTemplateKey() { return temlpateTargetKey; } }