package com.taskadapter.redmineapi.internal.comm; import org.apache.http.HttpRequest; import com.taskadapter.redmineapi.RedmineException; /** * FMap communicator. * * @author maxkar * */ final class FmapCommunicator<K, I> implements Communicator<K> { private final ContentHandler<I, K> handler; private final Communicator<I> peer; public FmapCommunicator(ContentHandler<I, K> handler, Communicator<I> peer) { super(); this.handler = handler; this.peer = peer; } @Override public <R> R sendRequest(HttpRequest request, ContentHandler<K, R> contentHandler) throws RedmineException { return peer.sendRequest(request, Communicators.compose(contentHandler, handler)); } }