Make additional information available to isReadable, isWritable and getSize methods
svn path=/trunk/; revision=476
diff --git a/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyReader.java b/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyReader.java
index 0fee43b..cca0961 100644
--- a/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyReader.java
+++ b/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyReader.java
@@ -54,9 +54,11 @@
* message body is to be converted into a method parameter, this will be
* the annotations on that parameter returned by
* <code>Class.getParameterAnnotations</code>.
+ * @param mediaType the media type of the HTTP entity.
* @return true if the type is supported, otherwise false.
*/
- boolean isReadable(Class<?> type, Type genericType, Annotation annotations[]);
+ boolean isReadable(Class<?> type, Type genericType,
+ Annotation annotations[], MediaType mediaType);
/**
* Read a type from the {@link InputStream}.
diff --git a/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyWriter.java b/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyWriter.java
index 18483b8..758f49a 100644
--- a/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyWriter.java
+++ b/src/jsr311-api/src/javax/ws/rs/ext/MessageBodyWriter.java
@@ -52,19 +52,30 @@
* provides a way to specify this information at runtime.
* @param annotations an array of the annotations on the resource
* method that returns the object.
+ * @param mediaType the media type of the HTTP entity.
* @return true if the type is supported, otherwise false.
*/
- boolean isWriteable(Class<?> type, Type genericType, Annotation annotations[]);
+ boolean isWriteable(Class<?> type, Type genericType,
+ Annotation annotations[], MediaType mediaType);
/**
* Called before <code>writeTo</code> to ascertain the length in bytes of
* the serialized form of <code>t</code>. A non-negative return value is
* used in a HTTP <code>Content-Length</code> header.
* @param t the instance to write
+ * @param type the class of object that is to be written.
+ * @param 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. {@link javax.ws.rs.core.GenericEntity}
+ * provides a way to specify this information at runtime.
+ * @param annotations an array of the annotations on the resource
+ * method that returns the object.
+ * @param mediaType the media type of the HTTP entity.
* @return length in bytes or -1 if the length cannot be determined in
* advance
*/
- long getSize(T t);
+ long getSize(T t, Class<?> type, Type genericType, Annotation annotations[],
+ MediaType mediaType);
/**
* Write a type to an HTTP response. The response header map is mutable