Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * The contents of this file are subject to the terms
   * of the Common Development and Distribution License
   * (the "License").  You may not use this file except
   * in compliance with the License.
   *
   * You can obtain a copy of the license at
   * http://www.opensource.org/licenses/cddl1.php
   * See the License for the specific language governing
  * permissions and limitations under the License.
  */
 
 /*
  * MessageBodyWriter.java
  *
  * Created on November 8, 2007, 3:57 PM
  *
  */
 
 package javax.ws.rs.ext;
 
Contract for a provider that supports the conversion of a Java type to a stream. To add a MessageBodyWriter implementation, annotate the implementation class with @Provider. A MessageBodyWriter implementation may be annotated with javax.ws.rs.Produces to restrict the media types for which it will be considered suitable.

Parameters:
T the type that can be written
See also:
Provider
javax.ws.rs.Produces
 
 public interface MessageBodyWriter<T> {
    
    
Ascertain if the MessageBodyWriter supports a particular type.

Parameters:
type the class of object that is to be written.
genericType the type of object to be written, obtained either by reflection of a resource method return type or via inspection of the returned instance. javax.ws.rs.core.GenericEntity provides a way to specify this information at runtime.
annotations an array of the annotations on the resource method that returns the object.
mediaType the media type of the HTTP entity.
Returns:
true if the type is supported, otherwise false.
 
     boolean isWriteable(Class<?> typeType genericType,
             Annotation annotations[], MediaType mediaType);
    
    
Called before writeTo to ascertain the length in bytes of the serialized form of t. A non-negative return value is used in a HTTP Content-Length header.

Parameters:
t the instance to write
type the class of object that is to be written.
genericType the type of object to be written, obtained either by reflection of a resource method return type or by inspection of the returned instance. javax.ws.rs.core.GenericEntity provides a way to specify this information at runtime.
annotations an array of the annotations on the resource method that returns the object.
mediaType the media type of the HTTP entity.
Returns:
length in bytes or -1 if the length cannot be determined in advance
 
     long getSize(T tClass<?> typeType genericTypeAnnotation annotations[], 
             MediaType mediaType);

    
Write a type to an HTTP response. The response header map is mutable but any changes must be made before writing to the output stream since the headers will be flushed prior to writing the response body.

Parameters:
t the instance to write.
type the class of object that is to be written.
genericType the type of object to be written, obtained either by reflection of a resource method return type or by inspection of the returned instance. javax.ws.rs.core.GenericEntity provides a way to specify this information at runtime.
annotations an array of the annotations on the resource method that returns the object.
mediaType the media type of the HTTP entity.
httpHeaders a mutable map of the HTTP response headers.
entityStream the java.io.OutputStream for the HTTP entity. The implementation should not close the output stream.
Throws:
java.io.IOException if an IO error arises
javax.ws.rs.WebApplicationException if a specific HTTP error response needs to be produced. Only effective if thrown prior to the response being committed.
    void writeTo(T tClass<?> typeType genericTypeAnnotation annotations[], 
            MediaType mediaType
            MultivaluedMap<StringObjecthttpHeaders,
            OutputStream entityStreamthrows IOExceptionWebApplicationException;    
New to GrepCode? Check out our FAQ X