diff options
Diffstat (limited to 'spring-webmvc/src/main/java/org/springframework/web/servlet/mvc')
7 files changed, 55 insertions, 61 deletions
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/AbstractRequestCondition.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/AbstractRequestCondition.java index 26fb5641..1c1ba726 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/AbstractRequestCondition.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/AbstractRequestCondition.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2019 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. @@ -28,16 +28,39 @@ import java.util.Iterator; */ public abstract class AbstractRequestCondition<T extends AbstractRequestCondition<T>> implements RequestCondition<T> { + /** + * Indicates whether this condition is empty, i.e. whether or not it + * contains any discrete items. + * @return {@code true} if empty; {@code false} otherwise + */ + public boolean isEmpty() { + return getContent().isEmpty(); + } + + /** + * Return the discrete items a request condition is composed of. + * <p>For example URL patterns, HTTP request methods, param expressions, etc. + * @return a collection of objects (never {@code null}) + */ + protected abstract Collection<?> getContent(); + + /** + * The notation to use when printing discrete items of content. + * <p>For example {@code " || "} for URL patterns or {@code " && "} + * for param expressions. + */ + protected abstract String getToStringInfix(); + + @Override - public boolean equals(Object obj) { - if (this == obj) { + public boolean equals(Object other) { + if (this == other) { return true; } - if (obj != null && getClass() == obj.getClass()) { - AbstractRequestCondition<?> other = (AbstractRequestCondition<?>) obj; - return getContent().equals(other.getContent()); + if (other == null || getClass() != other.getClass()) { + return false; } - return false; + return getContent().equals(((AbstractRequestCondition<?>) other).getContent()); } @Override @@ -59,28 +82,4 @@ public abstract class AbstractRequestCondition<T extends AbstractRequestConditio return builder.toString(); } - /** - * Indicates whether this condition is empty, i.e. whether or not it - * contains any discrete items. - * @return {@code true} if empty; {@code false} otherwise - */ - public boolean isEmpty() { - return getContent().isEmpty(); - } - - - /** - * Return the discrete items a request condition is composed of. - * <p>For example URL patterns, HTTP request methods, param expressions, etc. - * @return a collection of objects, never {@code null} - */ - protected abstract Collection<?> getContent(); - - /** - * The notation to use when printing discrete items of content. - * <p>For example {@code " || "} for URL patterns or {@code " && "} - * for param expressions. - */ - protected abstract String getToStringInfix(); - } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/PatternsRequestCondition.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/PatternsRequestCondition.java index 43f5b496..d800d0c9 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/PatternsRequestCondition.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/PatternsRequestCondition.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2019 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. @@ -179,8 +179,8 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat else { result.add(""); } - return new PatternsRequestCondition(result, this.pathHelper, this.pathMatcher, this.useSuffixPatternMatch, - this.useTrailingSlashMatch, this.fileExtensions); + return new PatternsRequestCondition(result, this.pathHelper, this.pathMatcher, + this.useSuffixPatternMatch, this.useTrailingSlashMatch, this.fileExtensions); } /** @@ -201,17 +201,14 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat */ @Override public PatternsRequestCondition getMatchingCondition(HttpServletRequest request) { - if (this.patterns.isEmpty()) { return this; } - String lookupPath = this.pathHelper.getLookupPathForRequest(request); List<String> matches = getMatchingPatterns(lookupPath); - - return matches.isEmpty() ? null : - new PatternsRequestCondition(matches, this.pathHelper, this.pathMatcher, this.useSuffixPatternMatch, - this.useTrailingSlashMatch, this.fileExtensions); + return (!matches.isEmpty() ? + new PatternsRequestCondition(matches, this.pathHelper, this.pathMatcher, + this.useSuffixPatternMatch, this.useTrailingSlashMatch, this.fileExtensions) : null); } /** @@ -259,7 +256,7 @@ public final class PatternsRequestCondition extends AbstractRequestCondition<Pat } if (this.useTrailingSlashMatch) { if (!pattern.endsWith("/") && this.pathMatcher.match(pattern + "/", lookupPath)) { - return pattern +"/"; + return pattern + "/"; } } return null; diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMethodMappingNamingStrategy.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMethodMappingNamingStrategy.java index 4fe3ea65..982bebbc 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMethodMappingNamingStrategy.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMethodMappingNamingStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2019 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. @@ -46,7 +46,7 @@ public class RequestMappingInfoHandlerMethodMappingNamingStrategy } StringBuilder sb = new StringBuilder(); String simpleTypeName = handlerMethod.getBeanType().getSimpleName(); - for (int i = 0 ; i < simpleTypeName.length(); i++) { + for (int i = 0; i < simpleTypeName.length(); i++) { if (Character.isUpperCase(simpleTypeName.charAt(i))) { sb.append(simpleTypeName.charAt(i)); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java index 57be99d1..e1c2cef2 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ExceptionHandlerExceptionResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2018 the original author or authors. + * Copyright 2002-2019 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. @@ -117,7 +117,7 @@ public class ExceptionHandlerExceptionResolver extends AbstractHandlerMethodExce * resolution use {@link #setArgumentResolvers} instead. */ public void setCustomArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) { - this.customArgumentResolvers= argumentResolvers; + this.customArgumentResolvers = argumentResolvers; } /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/SessionAttributeMethodArgumentResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/SessionAttributeMethodArgumentResolver.java index 7c7d0811..38a1bd27 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/SessionAttributeMethodArgumentResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/SessionAttributeMethodArgumentResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2019 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,7 +53,7 @@ public class SessionAttributeMethodArgumentResolver extends AbstractNamedValueMe @Override protected void handleMissingValue(String name, MethodParameter parameter) throws ServletException { throw new ServletRequestBindingException("Missing session attribute '" + name + - "' of type " + parameter.getNestedParameterType().getSimpleName()); + "' of type " + parameter.getNestedParameterType().getSimpleName()); } } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewMethodReturnValueHandler.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewMethodReturnValueHandler.java index d9d8abd2..2d8b4fce 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewMethodReturnValueHandler.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewMethodReturnValueHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2019 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. @@ -52,7 +52,7 @@ public class ViewMethodReturnValueHandler implements HandlerMethodReturnValueHan if (returnValue == null) { return; } - else if (returnValue instanceof View){ + else if (returnValue instanceof View) { View view = (View) returnValue; mavContainer.setView(view); if (view instanceof SmartView) { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewNameMethodReturnValueHandler.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewNameMethodReturnValueHandler.java index 9601ce60..ca846f90 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewNameMethodReturnValueHandler.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ViewNameMethodReturnValueHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2019 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. @@ -32,10 +32,10 @@ import org.springframework.web.servlet.RequestToViewNameTranslator; * as the actual return value is left as-is allowing the configured * {@link RequestToViewNameTranslator} to select a view name by convention. * - * <p>A String return value can be interpreted in more than one ways depending - * on the presence of annotations like {@code @ModelAttribute} or - * {@code @ResponseBody}. Therefore this handler should be configured after - * the handlers that support these annotations. + * <p>A String return value can be interpreted in more than one ways depending on + * the presence of annotations like {@code @ModelAttribute} or {@code @ResponseBody}. + * Therefore this handler should be configured after the handlers that support these + * annotations. * * @author Rossen Stoyanchev * @author Juergen Hoeller @@ -47,12 +47,10 @@ public class ViewNameMethodReturnValueHandler implements HandlerMethodReturnValu /** - * Configure one more simple patterns (as described in - * {@link PatternMatchUtils#simpleMatch}) to use in order to recognize - * custom redirect prefixes in addition to "redirect:". - * <p>Note that simply configuring this property will not make a custom - * redirect prefix work. There must be a custom View that recognizes the - * prefix as well. + * Configure one more simple patterns (as described in {@link PatternMatchUtils#simpleMatch}) + * to use in order to recognize custom redirect prefixes in addition to "redirect:". + * <p>Note that simply configuring this property will not make a custom redirect prefix work. + * There must be a custom View that recognizes the prefix as well. * @since 4.1 */ public void setRedirectPatterns(String... redirectPatterns) { @@ -84,7 +82,7 @@ public class ViewNameMethodReturnValueHandler implements HandlerMethodReturnValu mavContainer.setRedirectModelScenario(true); } } - else if (returnValue != null){ + else if (returnValue != null) { // should not happen throw new UnsupportedOperationException("Unexpected return type: " + returnType.getParameterType().getName() + " in method: " + returnType.getMethod()); |