SPR-6771 - HttpMessageConverter should accept Class<? extends T> on can read

This commit is contained in:
Arjen Poutsma
2010-01-28 09:23:34 +00:00
parent 1cda8cb6fa
commit f2fdf9fa6b
11 changed files with 18 additions and 20 deletions

View File

@@ -91,7 +91,7 @@ public abstract class AbstractHttpMessageConverter<T> implements HttpMessageConv
* #getSupportedMediaTypes() supported media types} {@linkplain MediaType#includes(MediaType) include} the given media
* type.
*/
public boolean canRead(Class<? extends T> clazz, MediaType mediaType) {
public boolean canRead(Class<?> clazz, MediaType mediaType) {
return supports(clazz) && canRead(mediaType);
}
@@ -121,7 +121,7 @@ public abstract class AbstractHttpMessageConverter<T> implements HttpMessageConv
* #getSupportedMediaTypes() supported media types} {@linkplain MediaType#includes(MediaType) include} the given media
* type.
*/
public boolean canWrite(Class<? extends T> clazz, MediaType mediaType) {
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
return supports(clazz) && canWrite(mediaType);
}
@@ -150,7 +150,7 @@ public abstract class AbstractHttpMessageConverter<T> implements HttpMessageConv
* @param clazz the class to test for support
* @return <code>true</code> if supported; <code>false</code> otherwise
*/
protected abstract boolean supports(Class<? extends T> clazz);
protected abstract boolean supports(Class<?> clazz);
/**
* {@inheritDoc}

View File

@@ -113,7 +113,7 @@ public class BufferedImageHttpMessageConverter implements HttpMessageConverter<B
this.cacheDir = cacheDir;
}
public boolean canRead(Class<? extends BufferedImage> clazz, MediaType mediaType) {
public boolean canRead(Class<?> clazz, MediaType mediaType) {
if (BufferedImage.class.equals(clazz)) {
return isReadable(mediaType);
}
@@ -130,7 +130,7 @@ public class BufferedImageHttpMessageConverter implements HttpMessageConverter<B
return imageReaders.hasNext();
}
public boolean canWrite(Class<? extends BufferedImage> clazz, MediaType mediaType) {
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
if (BufferedImage.class.equals(clazz)) {
return isWritable(mediaType);
}

View File

@@ -42,7 +42,7 @@ public class ByteArrayHttpMessageConverter extends AbstractHttpMessageConverter<
}
@Override
public boolean supports(Class<? extends byte[]> clazz) {
public boolean supports(Class<?> clazz) {
return byte[].class.equals(clazz);
}

View File

@@ -56,7 +56,7 @@ public class FormHttpMessageConverter extends AbstractHttpMessageConverter<Multi
}
@Override
public boolean supports(Class<? extends MultiValueMap<String, String>> clazz) {
public boolean supports(Class<?> clazz) {
return MultiValueMap.class.isAssignableFrom(clazz);
}

View File

@@ -37,7 +37,7 @@ public interface HttpMessageConverter<T> {
* @param mediaType the media type to read, can be {@code null} if not specified
* @return <code>true</code> if readable; <code>false</code> otherwise
*/
boolean canRead(Class<? extends T> clazz, MediaType mediaType);
boolean canRead(Class<?> clazz, MediaType mediaType);
/**
* Indicates whether the given class can be written by this converter.
@@ -45,7 +45,7 @@ public interface HttpMessageConverter<T> {
* @param mediaType the media type to write, can be {@code null} if not specified
* @return <code>true</code> if writable; <code>false</code> otherwise
*/
boolean canWrite(Class<? extends T> clazz, MediaType mediaType);
boolean canWrite(Class<?> clazz, MediaType mediaType);
/**
* Return the list of {@link MediaType} objects supported by this converter.

View File

@@ -51,7 +51,7 @@ public class StringHttpMessageConverter extends AbstractHttpMessageConverter<Str
}
@Override
public boolean supports(Class<? extends String> clazz) {
public boolean supports(Class<?> clazz) {
return String.class.equals(clazz);
}

View File

@@ -97,6 +97,7 @@ public class MarshallingHttpMessageConverter extends AbstractXmlHttpMessageConve
this.unmarshaller = unmarshaller;
}
@Override
public boolean supports(Class<?> clazz) {
return unmarshaller.supports(clazz);
}

View File

@@ -45,7 +45,7 @@ import org.springframework.http.converter.HttpMessageNotWritableException;
public class SourceHttpMessageConverter<T extends Source> extends AbstractXmlHttpMessageConverter<T> {
@Override
public boolean supports(Class<? extends T> clazz) {
public boolean supports(Class<?> clazz) {
return DOMSource.class.equals(clazz) || SAXSource.class.equals(clazz) || StreamSource.class.equals(clazz) ||
Source.class.equals(clazz);
}