Class identity comparisons wherever possible
Issue: SPR-12926
This commit is contained in:
@@ -129,7 +129,7 @@ public class BufferedImageHttpMessageConverter implements HttpMessageConverter<B
|
||||
|
||||
@Override
|
||||
public boolean canRead(Class<?> clazz, MediaType mediaType) {
|
||||
return (BufferedImage.class.equals(clazz) && isReadable(mediaType));
|
||||
return (BufferedImage.class == clazz && isReadable(mediaType));
|
||||
}
|
||||
|
||||
private boolean isReadable(MediaType mediaType) {
|
||||
@@ -142,7 +142,7 @@ public class BufferedImageHttpMessageConverter implements HttpMessageConverter<B
|
||||
|
||||
@Override
|
||||
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
|
||||
return (BufferedImage.class.equals(clazz) && isWritable(mediaType));
|
||||
return (BufferedImage.class == clazz && isWritable(mediaType));
|
||||
}
|
||||
|
||||
private boolean isWritable(MediaType mediaType) {
|
||||
|
||||
@@ -43,7 +43,7 @@ public class ByteArrayHttpMessageConverter extends AbstractHttpMessageConverter<
|
||||
|
||||
@Override
|
||||
public boolean supports(Class<?> clazz) {
|
||||
return byte[].class.equals(clazz);
|
||||
return byte[].class == clazz;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -80,7 +80,7 @@ public class ResourceHttpMessageConverter extends AbstractHttpMessageConverter<R
|
||||
protected Long getContentLength(Resource resource, MediaType contentType) throws IOException {
|
||||
// Don't try to determine contentLength on InputStreamResource - cannot be read afterwards...
|
||||
// Note: custom InputStreamResource subclasses could provide a pre-calculated content length!
|
||||
return (InputStreamResource.class.equals(resource.getClass()) ? null : resource.contentLength());
|
||||
return (InputStreamResource.class == resource.getClass() ? null : resource.contentLength());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -79,7 +79,7 @@ public class StringHttpMessageConverter extends AbstractHttpMessageConverter<Str
|
||||
|
||||
@Override
|
||||
public boolean supports(Class<?> clazz) {
|
||||
return String.class.equals(clazz);
|
||||
return String.class == clazz;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -182,10 +182,10 @@ public class Jaxb2CollectionHttpMessageConverter<T extends Collection>
|
||||
collectionClass.getName() + "]: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
else if (List.class.equals(collectionClass)) {
|
||||
else if (List.class == collectionClass) {
|
||||
return (T) new ArrayList();
|
||||
}
|
||||
else if (SortedSet.class.equals(collectionClass)) {
|
||||
else if (SortedSet.class == collectionClass) {
|
||||
return (T) new TreeSet();
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -118,16 +118,16 @@ public class SourceHttpMessageConverter<T extends Source> extends AbstractHttpMe
|
||||
throws IOException, HttpMessageNotReadableException {
|
||||
|
||||
InputStream body = inputMessage.getBody();
|
||||
if (DOMSource.class.equals(clazz)) {
|
||||
if (DOMSource.class == clazz) {
|
||||
return (T) readDOMSource(body);
|
||||
}
|
||||
else if (SAXSource.class.equals(clazz)) {
|
||||
else if (SAXSource.class == clazz) {
|
||||
return (T) readSAXSource(body);
|
||||
}
|
||||
else if (StAXSource.class.equals(clazz)) {
|
||||
else if (StAXSource.class == clazz) {
|
||||
return (T) readStAXSource(body);
|
||||
}
|
||||
else if (StreamSource.class.equals(clazz) || Source.class.equals(clazz)) {
|
||||
else if (StreamSource.class == clazz || Source.class == clazz) {
|
||||
return (T) readStreamSource(body);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -251,7 +251,7 @@ public class WebDataBinder extends DataBinder {
|
||||
* @return the empty value (for most fields: null)
|
||||
*/
|
||||
protected Object getEmptyValue(String field, Class<?> fieldType) {
|
||||
if (fieldType != null && boolean.class.equals(fieldType) || Boolean.class.equals(fieldType)) {
|
||||
if (fieldType != null && boolean.class == fieldType || Boolean.class == fieldType) {
|
||||
// Special handling of boolean property.
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
@@ -740,7 +740,7 @@ public class HandlerMethodInvoker {
|
||||
|
||||
private Object checkValue(String name, Object value, Class<?> paramType) {
|
||||
if (value == null) {
|
||||
if (boolean.class.equals(paramType)) {
|
||||
if (boolean.class == paramType) {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
else if (paramType.isPrimitive()) {
|
||||
|
||||
@@ -80,7 +80,7 @@ import org.springframework.web.util.UriTemplateHandler;
|
||||
* HTTP PATCH, HTTP PUT with response body, etc.). Note however that the underlying HTTP
|
||||
* library used must also support the desired combination.
|
||||
*
|
||||
* <p>For each HTTP method there are 3 variants -- two accept a URI template string
|
||||
* <p>For each HTTP method there are three variants: two accept a URI template string
|
||||
* and URI variables (array or map) while a third accepts a {@link URI}.
|
||||
* Note that for URI templates it is assumed encoding is necessary, e.g.
|
||||
* {@code restTemplate.getForObject("http://example.com/hotel list")} becomes
|
||||
@@ -816,7 +816,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
||||
private final HttpMessageConverterExtractor<T> delegate;
|
||||
|
||||
public ResponseEntityResponseExtractor(Type responseType) {
|
||||
if (responseType != null && !Void.class.equals(responseType)) {
|
||||
if (responseType != null && Void.class != responseType) {
|
||||
this.delegate = new HttpMessageConverterExtractor<T>(responseType, getMessageConverters(), logger);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -53,8 +53,8 @@ import org.springframework.web.util.WebUtils;
|
||||
* type {@link MultipartFile} in conjunction with Spring's {@link MultipartResolver}
|
||||
* abstraction, and arguments of type {@code javax.servlet.http.Part} in conjunction
|
||||
* with Servlet 3.0 multipart requests. This resolver can also be created in default
|
||||
* resolution mode in which simple types (int, long, etc.) not annotated
|
||||
* with @{@link RequestParam} are also treated as request parameters with the
|
||||
* resolution mode in which simple types (int, long, etc.) not annotated with
|
||||
* @{@link RequestParam} are also treated as request parameters with the
|
||||
* parameter name derived from the argument name.
|
||||
*
|
||||
* <p>If the method parameter type is {@link Map}, the name specified in the
|
||||
@@ -138,7 +138,7 @@ public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethod
|
||||
if (parameter.hasParameterAnnotation(RequestPart.class)) {
|
||||
return false;
|
||||
}
|
||||
else if (MultipartFile.class.equals(paramType) || "javax.servlet.http.Part".equals(paramType.getName())) {
|
||||
else if (MultipartFile.class == paramType || "javax.servlet.http.Part".equals(paramType.getName())) {
|
||||
return true;
|
||||
}
|
||||
else if (this.useDefaultResolution) {
|
||||
@@ -163,7 +163,7 @@ public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethod
|
||||
WebUtils.getNativeRequest(servletRequest, MultipartHttpServletRequest.class);
|
||||
Object arg;
|
||||
|
||||
if (MultipartFile.class.equals(parameter.getParameterType())) {
|
||||
if (MultipartFile.class == parameter.getParameterType()) {
|
||||
assertIsMultipartRequest(servletRequest);
|
||||
Assert.notNull(multipartRequest, "Expected MultipartHttpServletRequest: is a MultipartResolver configured?");
|
||||
arg = multipartRequest.getFile(name);
|
||||
@@ -202,7 +202,7 @@ public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethod
|
||||
if (arg == null) {
|
||||
String[] paramValues = webRequest.getParameterValues(name);
|
||||
if (paramValues != null) {
|
||||
arg = paramValues.length == 1 ? paramValues[0] : paramValues;
|
||||
arg = (paramValues.length == 1 ? paramValues[0] : paramValues);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -219,27 +219,27 @@ public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethod
|
||||
|
||||
private boolean isMultipartFileCollection(MethodParameter parameter) {
|
||||
Class<?> collectionType = getCollectionParameterType(parameter);
|
||||
return ((collectionType != null) && collectionType.equals(MultipartFile.class));
|
||||
return (collectionType != null && MultipartFile.class == collectionType);
|
||||
}
|
||||
|
||||
private boolean isPartCollection(MethodParameter parameter) {
|
||||
Class<?> collectionType = getCollectionParameterType(parameter);
|
||||
return ((collectionType != null) && "javax.servlet.http.Part".equals(collectionType.getName()));
|
||||
return (collectionType != null && "javax.servlet.http.Part".equals(collectionType.getName()));
|
||||
}
|
||||
|
||||
private boolean isPartArray(MethodParameter parameter) {
|
||||
Class<?> paramType = parameter.getParameterType().getComponentType();
|
||||
return ((paramType != null) && "javax.servlet.http.Part".equals(paramType.getName()));
|
||||
return (paramType != null && "javax.servlet.http.Part".equals(paramType.getName()));
|
||||
}
|
||||
|
||||
private boolean isMultipartFileArray(MethodParameter parameter) {
|
||||
Class<?> paramType = parameter.getParameterType().getComponentType();
|
||||
return ((paramType != null) && MultipartFile.class.equals(paramType));
|
||||
return (paramType != null && MultipartFile.class == paramType);
|
||||
}
|
||||
|
||||
private Class<?> getCollectionParameterType(MethodParameter parameter) {
|
||||
Class<?> paramType = parameter.getParameterType();
|
||||
if (Collection.class.equals(paramType) || List.class.isAssignableFrom(paramType)){
|
||||
if (Collection.class == paramType || List.class.isAssignableFrom(paramType)){
|
||||
Class<?> valueType = GenericCollectionTypeResolver.getCollectionParameterType(parameter);
|
||||
if (valueType != null) {
|
||||
return valueType;
|
||||
@@ -258,7 +258,7 @@ public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethod
|
||||
UriComponentsBuilder builder, Map<String, Object> uriVariables, ConversionService conversionService) {
|
||||
|
||||
Class<?> paramType = parameter.getParameterType();
|
||||
if (Map.class.isAssignableFrom(paramType) || MultipartFile.class.equals(paramType) ||
|
||||
if (Map.class.isAssignableFrom(paramType) || MultipartFile.class == paramType ||
|
||||
"javax.servlet.http.Part".equals(paramType.getName())) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public class SessionStatusMethodArgumentResolver implements HandlerMethodArgumen
|
||||
|
||||
@Override
|
||||
public boolean supportsParameter(MethodParameter parameter) {
|
||||
return SessionStatus.class.equals(parameter.getParameterType());
|
||||
return SessionStatus.class == parameter.getParameterType();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user