/** * Sets the {@code Prefer} header on the give service instance. * * @param <T> any service class * @param service service class instance * @param preference preference to be set via {@code Prefer} header * @return given service instance, with {@code Prefer} header set */ public <T> T prefer(final T service, final Preference preference) { return header(service, RESTHeaders.PREFER, preference.toString()); }
/** * Reads {@code Prefer} header from request and parses into a {@code Preference} instance. * * @return a {@code Preference} instance matching the passed {@code Prefer} header, * or {@code Preference.NONE} if missing. */ protected Preference getPreference() { return Preference.fromString(messageContext.getHttpServletRequest().getHeader(RESTHeaders.PREFER)); }
/** * Sets the {@code Prefer} header on the give service instance. * * @param <T> any service class * @param service service class instance * @param preference preference to be set via {@code Prefer} header * @return given service instance, with {@code Prefer} header set */ public <T> T prefer(final T service, final Preference preference) { return header(service, RESTHeaders.PREFER, preference.toString()); }
/** * Builds response to successful modification request, taking into account any {@code Prefer} header. * * @param entity the entity just modified * @return response to successful modification request */ protected Response modificationResponse(final Object entity) { Response.ResponseBuilder builder; switch (getPreference()) { case RETURN_NO_CONTENT: builder = Response.noContent(); break; case RETURN_CONTENT: case NONE: default: builder = Response.ok(entity); break; } if (getPreference() == Preference.RETURN_CONTENT || getPreference() == Preference.RETURN_NO_CONTENT) { builder.header(RESTHeaders.PREFERENCE_APPLIED, getPreference().toString()); } return builder.build(); }
protected Response.ResponseBuilder applyPreference( final ProvisioningResult<?> provisioningResult, final Response.ResponseBuilder builder) { switch (getPreference()) { case RETURN_NO_CONTENT: break; case RETURN_CONTENT: case NONE: default: builder.entity(provisioningResult); break; } if (getPreference() == Preference.RETURN_CONTENT || getPreference() == Preference.RETURN_NO_CONTENT) { builder.header(RESTHeaders.PREFERENCE_APPLIED, getPreference().toString()); } return builder; }
header(RESTHeaders.PREFERENCE_APPLIED, getPreference().toString()). header(HttpHeaders.LOCATION, uriInfo.getAbsolutePathBuilder().build()). type(RESTHeaders.multipartMixedWith(boundary)).
item.getHeaders().put( RESTHeaders.PREFERENCE_APPLIED, Arrays.asList(Preference.RETURN_NO_CONTENT.toString())); } else { item.setContent(POJOHelper.serialize(updated.getEntity())); item.getHeaders().put( RESTHeaders.PREFERENCE_APPLIED, Arrays.asList(Preference.RETURN_NO_CONTENT.toString())); } else { item.setContent(POJOHelper.serialize(updated.getEntity()));
item.getHeaders().put( RESTHeaders.PREFERENCE_APPLIED, Arrays.asList(Preference.RETURN_NO_CONTENT.toString())); } else { item.setContent(POJOHelper.serialize(updated.getEntity())); item.getHeaders().put( RESTHeaders.PREFERENCE_APPLIED, Arrays.asList(Preference.RETURN_NO_CONTENT.toString())); } else { item.setContent(POJOHelper.serialize(updated.getEntity()));