package org.atomhopper.response; import org.apache.abdera.util.EntityTag; import org.springframework.http.HttpStatus; import java.util.EnumMap; import java.util.Map; public class FeedSourceAdapterResponse<T> implements AdapterResponse<T> { private static final HttpStatus DEFAULT_HTTP_STATUS_CODE = HttpStatus.OK; private final T responseBody; private final HttpStatus statusCode; private final String message; private final Map<ResponseParameter, String> parameters; private EntityTag etag; public FeedSourceAdapterResponse(T responseBody) { this(responseBody, DEFAULT_HTTP_STATUS_CODE, ""); } public FeedSourceAdapterResponse(T responseBody, HttpStatus statusCode, String message) { this.responseBody = responseBody; this.statusCode = statusCode; this.message = message; parameters = new EnumMap<ResponseParameter, String>(ResponseParameter.class); } public Map<ResponseParameter, String> getParameters() { return parameters; } @Override public String getParameter(ResponseParameter key) { return getParameters().get(key); } @Override public AdapterResponse<T> withParameter(ResponseParameter key, Object value) { getParameters().put(key, value.toString()); return this; } @Override public T getBody() { return responseBody; } @Override public String getMessage() { return message; } @Override public HttpStatus getResponseStatus() { return statusCode; } @Override public EntityTag getEntityTag() { return etag; } @Override public void setEntityTag(EntityTag etag) { this.etag = etag; } }