package cn.dreampie.common.http.result; import javax.servlet.http.Cookie; import java.util.List; import java.util.Map; /** * Created by ice on 14-12-19. * A HttpResult can be raised to make resty return immediately an HTTP response with a specific HTTP status. */ public class HttpResult<T> { private final HttpStatus status; private final T result; private final Map<String, String> headers; private final List<Cookie> cookies; public HttpResult(HttpStatus status) { this(status, null, null); } public HttpResult(HttpStatus status, Map<String, String> headers) { this(status, null, headers, null); } public HttpResult(HttpStatus status, List<Cookie> cookies) { this(status, null, null, cookies); } public HttpResult(T result) { this(HttpStatus.OK, result, null); } public HttpResult(T result, List<Cookie> cookies) { this(HttpStatus.OK, result, cookies); } public HttpResult(T result, Map<String, String> headers) { this(HttpStatus.OK, result, headers, null); } public HttpResult(T result, Map<String, String> headers, List<Cookie> cookies) { this(HttpStatus.OK, result, headers, cookies); } public HttpResult(HttpStatus status, T result) { this(status, result, null); } public HttpResult(HttpStatus status, T result, List<Cookie> cookies) { this(status, result, null, cookies); } public HttpResult(HttpStatus status, T result, Map<String, String> headers, List<Cookie> cookies) { this.status = status; this.result = result; this.headers = headers; this.cookies = cookies; } public HttpStatus getStatus() { return status; } /** * Returns the content to use in the HTTP response . * * @return the content to use in the response. */ public T getResult() { return result; } public Map<String, String> getHeaders() { return headers; } public List<Cookie> getCookies() { return cookies; } }