Class identity comparisons wherever possible

Issue: SPR-12926
This commit is contained in:
Juergen Hoeller
2015-05-20 14:34:09 +02:00
parent 57e0c789a8
commit b4095c3e1d
108 changed files with 317 additions and 322 deletions

View File

@@ -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) {

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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;
}

View File

@@ -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()) {

View File

@@ -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 {

View File

@@ -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;
}

View File

@@ -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