Passing null removes any existing value of the associated property from the builder svn path=/trunk/; revision=487
diff --git a/src/jsr311-api/src/javax/ws/rs/core/Response.java b/src/jsr311-api/src/javax/ws/rs/core/Response.java index 2ba60b1..f1e79a3 100644 --- a/src/jsr311-api/src/javax/ws/rs/core/Response.java +++ b/src/jsr311-api/src/javax/ws/rs/core/Response.java
@@ -398,8 +398,8 @@ /** * Set the response media type on the ResponseBuilder. * - * - * @param type the media type of the response entity + * @param type the media type of the response entity, if null any + * existing value for type will be removed * @return the updated ResponseBuilder */ public abstract ResponseBuilder type(MediaType type); @@ -407,17 +407,20 @@ /** * Set the response media type on the ResponseBuilder. * - * @param type the media type of the response entity + * @param type the media type of the response entity, if null any + * existing value for type will be removed * @return the updated ResponseBuilder * @throws IllegalArgumentException if type cannot be parsed */ public abstract ResponseBuilder type(String type); /** - * Set representation metadata on the ResponseBuilder. + * Set representation metadata on the ResponseBuilder. Equivalent to + * setting the values of content type, content language, and content + * encoding separately using the values of the variant properties. * - * @param variant metadata of the response entity a null value is - * equivalent to a variant with all null properties + * @param variant metadata of the response entity, a null value is + * equivalent to a variant with all null properties. * @return the updated ResponseBuilder */ public abstract ResponseBuilder variant(Variant variant); @@ -426,7 +429,7 @@ * Add a Vary header that lists the available variants. * * @param variants a list of available representation variants, a null - * value is equivalent to an empty list. + * value will remove an existing value for vary. * @return the updated ResponseBuilder */ public abstract ResponseBuilder variants(List<Variant> variants); @@ -434,7 +437,8 @@ /** * Set the language on the ResponseBuilder. * - * @param language the language of the response entity + * @param language the language of the response entity, if null any + * existing value for language will be removed * @return the updated ResponseBuilder */ public abstract ResponseBuilder language(String language); @@ -443,7 +447,8 @@ * Set the language on the ResponseBuilder. * * - * @param language the language of the response entity + * @param language the language of the response entity, if null any + * existing value for type will be removed * @return the updated ResponseBuilder */ public abstract ResponseBuilder language(Locale language); @@ -454,7 +459,8 @@ * @param location the location. If a relative URI is * supplied it will be converted into an absolute URI by resolving it * relative to the base URI of the application (see - * {@link UriInfo#getBaseUri}). + * {@link UriInfo#getBaseUri}). If null any + * existing value for location will be removed. * @return the updated ResponseBuilder */ public abstract ResponseBuilder location(URI location); @@ -463,7 +469,8 @@ * Set the content location on the ResponseBuilder. * * @param location the content location. Relative or absolute URIs - * may be used for the value of content location. + * may be used for the value of content location. If null any + * existing value for content location will be removed. * @return the updated ResponseBuilder */ public abstract ResponseBuilder contentLocation(URI location); @@ -471,7 +478,8 @@ /** * Set an entity tag on the ResponseBuilder. * - * @param tag the entity tag + * @param tag the entity tag, if null any + * existing entity tag value will be removed. * @return the updated ResponseBuilder */ public abstract ResponseBuilder tag(EntityTag tag); @@ -481,7 +489,8 @@ * for <code>tag(new EntityTag(<i>value</i>))</code>. * * @param tag the string content of a strong entity tag. The JAX-RS - * runtime will quote the supplied value when creating the header. + * runtime will quote the supplied value when creating the header. If + * null any existing entity tag value will be removed. * @return the updated ResponseBuilder */ public abstract ResponseBuilder tag(String tag); @@ -489,8 +498,8 @@ /** * Set the last modified date on the ResponseBuilder. * - * - * @param lastModified the last modified date + * @param lastModified the last modified date, if null any existing + * last modified value will be removed. * @return the updated ResponseBuilder */ public abstract ResponseBuilder lastModified(Date lastModified); @@ -498,8 +507,8 @@ /** * Set the cache control data on the ResponseBuilder. * - * - * @param cacheControl the cache control directives + * @param cacheControl the cache control directives, if null removes any + * existing cache control directives. * @return the updated ResponseBuilder */ public abstract ResponseBuilder cacheControl(CacheControl cacheControl); @@ -507,8 +516,8 @@ /** * Set the expires date on the ResponseBuilder. * - * - * @param expires the expiration date + * @param expires the expiration date, if null removes any existing + * expires value. * @return the updated ResponseBuilder */ public abstract ResponseBuilder expires(Date expires);