public Response.ResponseBuilder createResponseBuilder() { return new ResponseBuilderImpl(); }
@Override public Response.ResponseBuilder status(int status) { return status(status, null); }
@Override public Response.ResponseBuilder variant(Variant variant) { if (variant == null) { type((String)null); language((String)null); metadata.remove(HttpHeaderNames.CONTENT_ENCODING); return this; } type(variant.getMediaType()); language(variant.getLanguage()); if (variant.getEncoding() != null) metadata.putSingle(HttpHeaderNames.CONTENT_ENCODING, variant.getEncoding()); else metadata.remove(HttpHeaderNames.CONTENT_ENCODING); return this; }
public static NoLogWebApplicationException createConflictException(String containerUri, IResourceStore.IResourceId currentId) { URI resourceUri = RestUtilities.createURI(containerUri, currentId.getId(), versionQueryParam, currentId.getVersion()); ResponseBuilderImpl builder = new ResponseBuilderImpl(); builder.status(Response.Status.CONFLICT); builder.entity(resourceUri.toString()); builder.type(MediaType.TEXT_PLAIN); return new NoLogWebApplicationException(builder.build()); }
@Override public Response.ResponseBuilder variants(List<Variant> variants) { if (variants == null) { metadata.remove(HttpHeaderNames.VARY); return this; } String vary = createVaryHeader(variants); metadata.putSingle(HttpHeaderNames.VARY, vary); return this; }
@Override public Response.ResponseBuilder variants(Variant... variants) { return this.variants(Arrays.asList(variants)); }
public Response.ResponseBuilder expires(Date expires) { if (expires == null) { metadata.remove(HttpHeaderNames.EXPIRES); return this; } metadata.putSingle(HttpHeaderNames.EXPIRES, getDateFormatRFC822().format(expires)); return this; }
@Override public Response.ResponseBuilder tag(String tag) { if (tag == null) { metadata.remove(HttpHeaderNames.ETAG); return this; } return tag(new EntityTag(tag)); }
public Variant selectVariant(List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.size() == 0) throw new IllegalArgumentException(MESSAGES.variantListMustNotBeZero()); ServerDrivenNegotiation negotiation = new ServerDrivenNegotiation(); MultivaluedMap<String, String> requestHeaders = headers.getRequestHeaders(); negotiation.setAcceptHeaders(requestHeaders.get(ACCEPT)); negotiation.setAcceptCharsetHeaders(requestHeaders.get(ACCEPT_CHARSET)); negotiation.setAcceptEncodingHeaders(requestHeaders.get(ACCEPT_ENCODING)); negotiation.setAcceptLanguageHeaders(requestHeaders.get(ACCEPT_LANGUAGE)); varyHeader = ResponseBuilderImpl.createVaryHeader(variants); response.getOutputHeaders().add(VARY, varyHeader); return negotiation.getBestMatch(variants); }
@Override public Response.ResponseBuilder variants(Variant... variants) { return this.variants(Arrays.asList(variants)); }
public Response.ResponseBuilder expires(Date expires) { if (expires == null) { metadata.remove(HttpHeaderNames.EXPIRES); return this; } metadata.putSingle(HttpHeaderNames.EXPIRES, getDateFormatRFC822().format(expires)); return this; }
@Override public Response.ResponseBuilder tag(String tag) { if (tag == null) { metadata.remove(HttpHeaderNames.ETAG); return this; } return tag(new EntityTag(tag)); }
@Override public Response.ResponseBuilder clone() { ResponseBuilderImpl impl = new ResponseBuilderImpl(); impl.metadata.putAll(metadata); impl.entity = entity; impl.status = status; impl.entityAnnotations = entityAnnotations; return impl; }
@Override public Response.ResponseBuilder variant(Variant variant) { if (variant == null) { type((String)null); language((String)null); metadata.remove(HttpHeaderNames.CONTENT_ENCODING); return this; } type(variant.getMediaType()); language(variant.getLanguage()); if (variant.getEncoding() != null) metadata.putSingle(HttpHeaderNames.CONTENT_ENCODING, variant.getEncoding()); else metadata.remove(HttpHeaderNames.CONTENT_ENCODING); return this; }
@Override public Response.ResponseBuilder status(int status) { return status(status, null); }
@Override public Response.ResponseBuilder variants(List<Variant> variants) { if (variants == null) { metadata.remove(HttpHeaderNames.VARY); return this; } String vary = createVaryHeader(variants); metadata.putSingle(HttpHeaderNames.VARY, vary); return this; }
@Override public Response.ResponseBuilder variants(Variant... variants) { return this.variants(Arrays.asList(variants)); }