package org.atomhopper.adapter.request; import org.apache.abdera.Abdera; import org.apache.abdera.protocol.server.RequestContext; import org.atomhopper.util.uri.template.TemplateParameters; import java.util.List; /** * Base class that contains the wrapped RequestContext from Abdera. All domain * specific request classes should inherit from this class. */ public abstract class AbstractClientRequest implements ClientRequest { private final RequestContext abderaRequestContext; protected AbstractClientRequest(RequestContext abderaRequestContext) { this.abderaRequestContext = abderaRequestContext; } protected RequestContext getRequestContext() { return abderaRequestContext; } @Override public String urlFor(TemplateParameters param) { return abderaRequestContext.urlFor(param.getTargetTemplateKey(), param); } @Override public Abdera getAbdera() { return abderaRequestContext.getAbdera(); } @Override public String getTargetParameter(String parameter) { return abderaRequestContext.getTarget().getParameter(parameter); } @Override public String getRequestParameter(String parameter) { return abderaRequestContext.getParameter(parameter); } @Override public List<String> getRequestParameters(String parameter) { return abderaRequestContext.getParameters(parameter); } }