Added @Override and @Deprecated annotations to web-servlet module

This commit is contained in:
Arjen Poutsma 2008-10-28 00:39:17 +00:00
parent 3a26f0d896
commit 6a2daf7bf5
124 changed files with 265 additions and 0 deletions

View File

@ -41,6 +41,7 @@ public class MissingServletRequestParameterException extends ServletRequestBindi
}
@Override
public String getMessage() {
return "Required " + this.parameterType + " parameter '" + this.parameterName + "' is not present";
}

View File

@ -34,6 +34,7 @@ import org.springframework.web.HttpRequestMethodNotSupportedException;
* @deprecated as of Spring 2.0: use ServletRequestUtils instead
* @see ServletRequestUtils
*/
@Deprecated
public abstract class RequestUtils {
/**

View File

@ -546,10 +546,12 @@ public abstract class ServletRequestUtils {
private static class IntParser extends ParameterParser {
@Override
protected String getType() {
return "int";
}
@Override
protected Object doParse(String s) throws NumberFormatException {
return Integer.valueOf(s);
}
@ -571,10 +573,12 @@ public abstract class ServletRequestUtils {
private static class LongParser extends ParameterParser {
@Override
protected String getType() {
return "long";
}
@Override
protected Object doParse(String parameter) throws NumberFormatException {
return Long.valueOf(parameter);
}
@ -596,10 +600,12 @@ public abstract class ServletRequestUtils {
private static class FloatParser extends ParameterParser {
@Override
protected String getType() {
return "float";
}
@Override
protected Object doParse(String parameter) throws NumberFormatException {
return Float.valueOf(parameter);
}
@ -621,10 +627,12 @@ public abstract class ServletRequestUtils {
private static class DoubleParser extends ParameterParser {
@Override
protected String getType() {
return "double";
}
@Override
protected Object doParse(String parameter) throws NumberFormatException {
return Double.valueOf(parameter);
}
@ -646,10 +654,12 @@ public abstract class ServletRequestUtils {
private static class BooleanParser extends ParameterParser {
@Override
protected String getType() {
return "boolean";
}
@Override
protected Object doParse(String parameter) throws NumberFormatException {
return (parameter.equalsIgnoreCase("true") || parameter.equalsIgnoreCase("on") ||
parameter.equalsIgnoreCase("yes") || parameter.equals("1") ? Boolean.TRUE : Boolean.FALSE);
@ -672,10 +682,12 @@ public abstract class ServletRequestUtils {
private static class StringParser extends ParameterParser {
@Override
protected String getType() {
return "string";
}
@Override
protected Object doParse(String parameter) throws NumberFormatException {
return parameter;
}

View File

@ -144,6 +144,7 @@ public class WebDataBinder extends DataBinder {
* before delegating to the superclass binding process.
* @see #checkFieldMarkers
*/
@Override
protected void doBind(MutablePropertyValues mpvs) {
checkFieldMarkers(mpvs);
super.doBind(mpvs);

View File

@ -111,6 +111,7 @@ public class CommonsMultipartResolver extends CommonsFileUploadSupport
* @param fileItemFactory the Commons FileItemFactory to use
* @return the new ServletFileUpload instance
*/
@Override
protected FileUpload newFileUpload(FileItemFactory fileItemFactory) {
return new ServletFileUpload(fileItemFactory);
}
@ -138,6 +139,7 @@ public class CommonsMultipartResolver extends CommonsFileUploadSupport
Assert.notNull(request, "Request must not be null");
if (this.resolveLazily) {
return new DefaultMultipartHttpServletRequest(request) {
@Override
protected void initializeMultipart() {
MultipartParsingResult parsingResult = parseRequest(request);
setMultipartFiles(parsingResult.getMultipartFiles());

View File

@ -30,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
*/
public class ByteArrayMultipartFileEditor extends ByteArrayPropertyEditor {
@Override
public void setValue(Object value) {
if (value instanceof MultipartFile) {
MultipartFile multipartFile = (MultipartFile) value;
@ -50,6 +51,7 @@ public class ByteArrayMultipartFileEditor extends ByteArrayPropertyEditor {
}
}
@Override
public String getAsText() {
byte[] value = (byte[]) getValue();
return (value != null ? new String(value) : "");

View File

@ -64,6 +64,7 @@ public class DefaultMultipartHttpServletRequest extends AbstractMultipartHttpSer
}
@Override
public Enumeration getParameterNames() {
Set paramNames = new HashSet();
Enumeration paramEnum = super.getParameterNames();
@ -74,6 +75,7 @@ public class DefaultMultipartHttpServletRequest extends AbstractMultipartHttpSer
return Collections.enumeration(paramNames);
}
@Override
public String getParameter(String name) {
String[] values = (String[]) getMultipartParameters().get(name);
if (values != null) {
@ -82,6 +84,7 @@ public class DefaultMultipartHttpServletRequest extends AbstractMultipartHttpSer
return super.getParameter(name);
}
@Override
public String[] getParameterValues(String name) {
String[] values = (String[]) getMultipartParameters().get(name);
if (values != null) {
@ -90,6 +93,7 @@ public class DefaultMultipartHttpServletRequest extends AbstractMultipartHttpSer
return super.getParameterValues(name);
}
@Override
public Map getParameterMap() {
Map paramMap = new HashMap();
paramMap.putAll(super.getParameterMap());

View File

@ -88,6 +88,7 @@ public class MultipartFilter extends OncePerRequestFilter {
* from proper parameter extraction in the multipart case, and are able to cast to
* MultipartHttpServletRequest if they need to.
*/
@Override
protected void doFilterInternal(
HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {

View File

@ -52,10 +52,12 @@ public class StringMultipartFileEditor extends PropertyEditorSupport {
}
@Override
public void setAsText(String text) {
setValue(text);
}
@Override
public void setValue(Object value) {
if (value instanceof MultipartFile) {
MultipartFile multipartFile = (MultipartFile) value;

View File

@ -394,6 +394,7 @@ public class DispatcherServlet extends FrameworkServlet {
/**
* This implementation calls {@link #initStrategies}.
*/
@Override
protected void onRefresh(ApplicationContext context) throws BeansException {
initStrategies(context);
}
@ -775,6 +776,7 @@ public class DispatcherServlet extends FrameworkServlet {
* Exposes the DispatcherServlet-specific request attributes and
* delegates to {@link #doDispatch} for the actual dispatching.
*/
@Override
protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception {
if (logger.isDebugEnabled()) {
String requestUri = new UrlPathHelper().getRequestUri(request);
@ -949,6 +951,7 @@ public class DispatcherServlet extends FrameworkServlet {
* Override HttpServlet's <code>getLastModified</code> method to evaluate
* the Last-Modified value of the mapped handler.
*/
@Override
protected long getLastModified(HttpServletRequest request) {
if (logger.isDebugEnabled()) {
String requestUri = new UrlPathHelper().getRequestUri(request);
@ -992,6 +995,7 @@ public class DispatcherServlet extends FrameworkServlet {
public Locale getLocale() {
return localeResolver.resolveLocale(request);
}
@Override
public String toString() {
return getLocale().toString();
}

View File

@ -271,6 +271,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* Overridden method of {@link HttpServletBean}, invoked after any bean properties
* have been set. Creates this servlet's WebApplicationContext.
*/
@Override
protected final void initServletBean() throws ServletException, BeansException {
getServletContext().log("Initializing Spring FrameworkServlet '" + getServletName() + "'");
if (this.logger.isInfoEnabled()) {
@ -495,6 +496,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* @see #doService
* @see #doHead
*/
@Override
protected final void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@ -505,6 +507,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* Delegate POST requests to {@link #processRequest}.
* @see #doService
*/
@Override
protected final void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@ -515,6 +518,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* Delegate PUT requests to {@link #processRequest}.
* @see #doService
*/
@Override
protected final void doPut(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@ -525,6 +529,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* Delegate DELETE requests to {@link #processRequest}.
* @see #doService
*/
@Override
protected final void doDelete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@ -536,6 +541,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* <p>Applies HttpServlet's standard OPTIONS processing first.
* @see #doService
*/
@Override
protected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doOptions(request, response);
if (this.dispatchOptionsRequest) {
@ -548,6 +554,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* <p>Applies HttpServlet's standard TRACE processing first.
* @see #doService
*/
@Override
protected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doTrace(request, response);
if (this.dispatchTraceRequest) {
@ -637,6 +644,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* Close the WebApplicationContext of this servlet.
* @see org.springframework.context.ConfigurableApplicationContext#close()
*/
@Override
public void destroy() {
getServletContext().log("Destroying Spring FrameworkServlet '" + getServletName() + "'");
if (this.webApplicationContext instanceof ConfigurableApplicationContext) {

View File

@ -116,6 +116,7 @@ public class HandlerExecutionChain {
/**
* Delegates to the handler's <code>toString()</code>.
*/
@Override
public String toString() {
return String.valueOf(handler);
}

View File

@ -103,6 +103,7 @@ public abstract class HttpServletBean extends HttpServlet {
* @throws ServletException if bean properties are invalid (or required
* properties are missing), or if subclass initialization fails.
*/
@Override
public final void init() throws ServletException {
if (logger.isDebugEnabled()) {
logger.debug("Initializing servlet '" + getServletName() + "'");
@ -147,6 +148,7 @@ public abstract class HttpServletBean extends HttpServlet {
* ServletConfig set yet.
* @see #getServletConfig()
*/
@Override
public final String getServletName() {
return (getServletConfig() != null ? getServletConfig().getServletName() : null);
}
@ -156,6 +158,7 @@ public abstract class HttpServletBean extends HttpServlet {
* ServletConfig set yet.
* @see #getServletConfig()
*/
@Override
public final ServletContext getServletContext() {
return (getServletConfig() != null ? getServletConfig().getServletContext() : null);
}

View File

@ -289,6 +289,7 @@ public class ModelAndView {
/**
* Return diagnostic information about this model and view.
*/
@Override
public String toString() {
StringBuffer buf = new StringBuffer("ModelAndView: ");
if (isReference()) {

View File

@ -168,6 +168,7 @@ public class ResourceServlet extends HttpServletBean {
/**
* Remember the startup time, using no last-modified time before it.
*/
@Override
protected void initServletBean() {
this.pathMatcher = getPathMatcher();
this.startupTime = System.currentTimeMillis();
@ -188,6 +189,7 @@ public class ResourceServlet extends HttpServletBean {
* Determine the URL of the target resource and include it.
* @see #determineResourceUrl
*/
@Override
protected final void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@ -297,6 +299,7 @@ public class ResourceServlet extends HttpServletBean {
* @see #determineResourceUrl
* @see #getFileTimestamp
*/
@Override
protected final long getLastModified(HttpServletRequest request) {
if (this.applyLastModified) {
String resourceUrl = determineResourceUrl(request);

View File

@ -59,12 +59,14 @@ public class ViewRendererServlet extends HttpServlet {
public static final String MODEL_ATTRIBUTE = ViewRendererServlet.class.getName() + ".MODEL";
@Override
protected final void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected final void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

View File

@ -52,6 +52,7 @@ public abstract class AbstractDetectingUrlHandlerMapping extends AbstractUrlHand
* Calls the {@link #detectHandlers()} method in addition to the
* superclass's initialization.
*/
@Override
public void initApplicationContext() throws ApplicationContextException {
super.initApplicationContext();
detectHandlers();

View File

@ -105,6 +105,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport
* @see #extendInterceptors(java.util.List)
* @see #initInterceptors()
*/
@Override
protected void initApplicationContext() throws BeansException {
extendInterceptors(this.interceptors);
initInterceptors();

View File

@ -154,6 +154,7 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
* @param request current HTTP request
* @return the handler instance, or <code>null</code> if none found
*/
@Override
protected Object getHandlerInternal(HttpServletRequest request) throws Exception {
String lookupPath = this.urlPathHelper.getLookupPathForRequest(request);
Object handler = lookupHandler(lookupPath, request);
@ -353,6 +354,7 @@ public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMapping {
this.pathWithinMapping = pathWithinMapping;
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
exposePathWithinMapping(this.pathWithinMapping, request);
return true;

View File

@ -53,6 +53,7 @@ public class BeanNameUrlHandlerMapping extends AbstractDetectingUrlHandlerMappin
/**
* Checks name and aliases of the given bean for URLs, starting with "/".
*/
@Override
protected String[] determineUrlsForHandler(String beanName) {
List urls = new ArrayList();
if (beanName.startsWith("/")) {

View File

@ -44,6 +44,7 @@ public class DispatcherServletWebRequest extends ServletWebRequest {
super(request);
}
@Override
public Locale getLocale() {
return RequestContextUtils.getLocale(getRequest());
}

View File

@ -98,6 +98,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping {
* Calls the {@link #registerHandlers} method in addition to the
* superclass's initialization.
*/
@Override
public void initApplicationContext() throws BeansException {
super.initApplicationContext();
registerHandlers(this.urlMap);

View File

@ -44,6 +44,7 @@ public class UserRoleAuthorizationInterceptor extends HandlerInterceptorAdapter
}
@Override
public final boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws ServletException, IOException {

View File

@ -48,6 +48,7 @@ import org.springframework.web.servlet.handler.AbstractUrlHandlerMapping;
* @deprecated as of Spring 2.5, in favor of annotation-based request mapping.
* To be removed in Spring 3.0.
*/
@Deprecated
public abstract class AbstractPathMapHandlerMapping extends AbstractUrlHandlerMapping {
/** Constants instance for AutowireCapableBeanFactory */
@ -104,6 +105,7 @@ public abstract class AbstractPathMapHandlerMapping extends AbstractUrlHandlerMa
* to the superclass's initialization.
* @see #detectAndCreateHandlers
*/
@Override
public void initApplicationContext() throws BeansException {
super.initApplicationContext();

View File

@ -55,6 +55,7 @@ import org.apache.commons.attributes.Attributes;
* @deprecated as of Spring 2.5, in favor of annotation-based request mapping.
* To be removed in Spring 3.0.
*/
@Deprecated
public class CommonsPathMapHandlerMapping extends AbstractPathMapHandlerMapping {
/**
@ -62,6 +63,7 @@ public class CommonsPathMapHandlerMapping extends AbstractPathMapHandlerMapping
* objects with the required PathMap attribute. Protected so that it can
* be overridden during testing.
*/
@Override
protected Class[] getClassesWithPathMapAttributes() throws Exception {
AttributeIndex ai = new AttributeIndex(getClass().getClassLoader());
Collection classes = ai.getClasses(PathMap.class);
@ -73,6 +75,7 @@ public class CommonsPathMapHandlerMapping extends AbstractPathMapHandlerMapping
* We know there's at least one, as the getClassNamesWithPathMapAttributes
* method return this class name.
*/
@Override
protected PathMap[] getPathMapAttributes(Class handlerClass) {
Collection atts = Attributes.getAttributes(handlerClass, PathMap.class);
return (PathMap[]) atts.toArray(new PathMap[atts.size()]);

View File

@ -30,6 +30,7 @@ package org.springframework.web.servlet.handler.metadata;
* To be removed in Spring 3.0.
* @@org.apache.commons.attributes.Indexed()
*/
@Deprecated
public class PathMap {
/*

View File

@ -62,6 +62,7 @@ public class LocaleChangeInterceptor extends HandlerInterceptorAdapter {
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws ServletException {

View File

@ -75,6 +75,7 @@ public abstract class AbstractCommandController extends BaseCommandController {
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {

View File

@ -252,6 +252,7 @@ public abstract class AbstractFormController extends BaseCommandController {
* @see #showNewForm
* @see #processFormSubmission
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {
@ -425,6 +426,7 @@ public abstract class AbstractFormController extends BaseCommandController {
* @throws Exception in case of invalid state or arguments
* @see #formBackingObject
*/
@Override
protected final Object getCommand(HttpServletRequest request) throws Exception {
// If not in session-form mode, create a new form-backing object.
if (!isSessionForm()) {

View File

@ -88,6 +88,7 @@ public abstract class AbstractUrlViewController extends AbstractController {
* Retrieves the URL path to use for lookup and delegates to
* {@link #getViewNameForRequest}.
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) {
String lookupPath = getUrlPathHelper().getLookupPathForRequest(request);
String viewName = getViewNameForRequest(request);

View File

@ -222,6 +222,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Calls page-specific onBindAndValidate method.
*/
@Override
protected final void onBindAndValidate(HttpServletRequest request, Object command, BindException errors)
throws Exception {
@ -253,6 +254,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* @see #isFinishRequest(javax.servlet.http.HttpServletRequest)
* @see #isCancelRequest(javax.servlet.http.HttpServletRequest)
*/
@Override
protected boolean isFormSubmission(HttpServletRequest request) {
return super.isFormSubmission(request) || isFinishRequest(request) || isCancelRequest(request);
}
@ -260,6 +262,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Calls page-specific referenceData method.
*/
@Override
protected final Map referenceData(HttpServletRequest request, Object command, Errors errors)
throws Exception {
@ -307,6 +310,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* <p>This can be overridden in subclasses, e.g. to prepare wizard-specific
* error views in case of an Exception.
*/
@Override
protected ModelAndView showForm(
HttpServletRequest request, HttpServletResponse response, BindException errors)
throws Exception {
@ -451,6 +455,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* @see #showNewForm
* @see #setBindOnNewForm
*/
@Override
protected ModelAndView handleInvalidSubmit(HttpServletRequest request, HttpServletResponse response)
throws Exception {
@ -461,6 +466,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Apply wizard workflow: finish, cancel, page change.
*/
@Override
protected final ModelAndView processFormSubmission(
HttpServletRequest request, HttpServletResponse response, Object command, BindException errors)
throws Exception {

View File

@ -319,6 +319,7 @@ public abstract class BaseCommandController extends AbstractController {
}
@Override
protected void initApplicationContext() {
if (this.validators != null) {
for (int i = 0; i < this.validators.length; i++) {
@ -567,6 +568,7 @@ public abstract class BaseCommandController extends AbstractController {
* @deprecated as of Spring 2.0.4, in favor of the
* {@link #suppressValidation(HttpServletRequest, Object)} variant
*/
@Deprecated
protected boolean suppressValidation(HttpServletRequest request) {
return false;
}

View File

@ -108,6 +108,7 @@ public class CancellableFormController extends SimpleFormController {
* Consider an explicit cancel request as a form submission too.
* @see #isCancelRequest(javax.servlet.http.HttpServletRequest)
*/
@Override
protected boolean isFormSubmission(HttpServletRequest request) {
return super.isFormSubmission(request) || isCancelRequest(request);
}
@ -116,6 +117,7 @@ public class CancellableFormController extends SimpleFormController {
* Suppress validation for an explicit cancel request too.
* @see #isCancelRequest(javax.servlet.http.HttpServletRequest)
*/
@Override
protected boolean suppressValidation(HttpServletRequest request, Object command) {
return super.suppressValidation(request, command) || isCancelRequest(request);
}
@ -129,6 +131,7 @@ public class CancellableFormController extends SimpleFormController {
* @see #onCancel(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, Object)
* @see SimpleFormController#processFormSubmission
*/
@Override
protected ModelAndView processFormSubmission(
HttpServletRequest request, HttpServletResponse response, Object command, BindException errors)
throws Exception {

View File

@ -84,6 +84,7 @@ public class ParameterizableViewController extends AbstractController {
return this.viewName;
}
@Override
protected void initApplicationContext() {
if (this.viewName == null) {
throw new IllegalArgumentException("Property 'viewName' is required");
@ -95,6 +96,7 @@ public class ParameterizableViewController extends AbstractController {
* Return a ModelAndView object with the specified view name.
* @see #getViewName()
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {

View File

@ -109,6 +109,7 @@ public class ServletForwardingController extends AbstractController implements B
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {

View File

@ -152,6 +152,7 @@ public class ServletWrappingController extends AbstractController
* Invoke the the wrapped Servlet instance.
* @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {

View File

@ -168,6 +168,7 @@ public class SimpleFormController extends AbstractFormController {
* @see #setFormView
* @see #showForm(HttpServletRequest, HttpServletResponse, BindException, Map)
*/
@Override
protected ModelAndView showForm(
HttpServletRequest request, HttpServletResponse response, BindException errors)
throws Exception {
@ -210,6 +211,7 @@ public class SimpleFormController extends AbstractFormController {
* @throws Exception in case of invalid state or arguments
* @see ModelAndView
*/
@Override
protected Map referenceData(HttpServletRequest request, Object command, Errors errors) throws Exception {
return referenceData(request);
}
@ -247,6 +249,7 @@ public class SimpleFormController extends AbstractFormController {
* @see #onSubmit(Object)
* @see #doSubmitAction(Object)
*/
@Override
protected ModelAndView processFormSubmission(
HttpServletRequest request, HttpServletResponse response, Object command, BindException errors)
throws Exception {
@ -274,6 +277,7 @@ public class SimpleFormController extends AbstractFormController {
* validated but just show the new form.
* @see #isFormChangeRequest
*/
@Override
protected boolean suppressValidation(HttpServletRequest request, Object command) {
return isFormChangeRequest(request, command);
}

View File

@ -96,6 +96,7 @@ public class UrlFilenameViewController extends AbstractUrlViewController {
* @see #setPrefix
* @see #setSuffix
*/
@Override
protected String getViewNameForRequest(HttpServletRequest request) {
String uri = extractOperableUrl(request);
return getViewNameForUrlPath(uri);

View File

@ -666,12 +666,14 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator implemen
public String[] params = new String[0];
@Override
public boolean equals(Object obj) {
RequestMappingInfo other = (RequestMappingInfo) obj;
return (Arrays.equals(this.paths, other.paths) && Arrays.equals(this.methods, other.methods) &&
Arrays.equals(this.params, other.params));
}
@Override
public int hashCode() {
return (Arrays.hashCode(this.paths) * 29 + Arrays.hashCode(this.methods) * 31 +
Arrays.hashCode(this.params));

View File

@ -105,6 +105,7 @@ public class DefaultAnnotationHandlerMapping extends AbstractDetectingUrlHandler
* Checks for presence of the {@link org.springframework.web.bind.annotation.RequestMapping}
* annotation on the handler class and on any of its methods.
*/
@Override
protected String[] determineUrlsForHandler(String beanName) {
ApplicationContext context = getApplicationContext();
Class<?> handlerType = context.getType(beanName);
@ -177,6 +178,7 @@ public class DefaultAnnotationHandlerMapping extends AbstractDetectingUrlHandler
* Validate the given annotated handler against the current request.
* @see #validateMapping
*/
@Override
protected void validateHandler(Object handler, HttpServletRequest request) throws Exception {
RequestMapping mapping = this.cachedMappings.get(handler.getClass());
if (mapping == null) {

View File

@ -84,6 +84,7 @@ public class InternalPathMethodNameResolver extends AbstractUrlMethodNameResolve
* @see #extractHandlerMethodNameFromUrlPath
* @see #postProcessHandlerMethodName
*/
@Override
protected String getHandlerMethodNameForUrlPath(String urlPath) {
String methodName = (String) this.methodNameCache.get(urlPath);
if (methodName == null) {

View File

@ -403,6 +403,7 @@ public class MultiActionController extends AbstractController implements LastMod
* @see #invokeNamedMethod
* @see #handleNoSuchRequestHandlingMethod
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
@ -601,6 +602,7 @@ public class MultiActionController extends AbstractController implements LastMod
* @deprecated as of Spring 2.0:
* use <code>initBinder(HttpServletRequest, ServletRequestDataBinder)</code> instead
*/
@Deprecated
protected void initBinder(ServletRequest request, ServletRequestDataBinder binder) throws Exception {
}

View File

@ -79,6 +79,7 @@ public class PropertiesMethodNameResolver extends AbstractUrlMethodNameResolver
}
@Override
protected String getHandlerMethodNameForUrlPath(String urlPath) {
String methodName = this.mappings.getProperty(urlPath);
if (methodName != null) {

View File

@ -106,6 +106,7 @@ public abstract class AbstractControllerUrlHandlerMapping extends AbstractDetect
* This implementation delegates to {@link #buildUrlsForHandler},
* provided that {@link #isEligibleForMapping} returns <code>true</code>.
*/
@Override
protected String[] determineUrlsForHandler(String beanName) {
Class beanClass = getApplicationContext().getType(beanName);
if (isEligibleForMapping(beanName, beanClass)) {

View File

@ -28,11 +28,13 @@ import org.springframework.stereotype.Controller;
*/
class AnnotationControllerTypePredicate extends ControllerTypePredicate {
@Override
public boolean isControllerType(Class beanClass) {
return (super.isControllerType(beanClass) ||
AnnotationUtils.findAnnotation(beanClass, Controller.class) != null);
}
@Override
public boolean isMultiActionControllerType(Class beanClass) {
return (super.isMultiActionControllerType(beanClass) ||
AnnotationUtils.findAnnotation(beanClass, Controller.class) != null);

View File

@ -65,6 +65,7 @@ public class ControllerBeanNameHandlerMapping extends AbstractControllerUrlHandl
}
@Override
protected String[] buildUrlsForHandler(String beanName, Class beanClass) {
List urls = new ArrayList();
urls.add(generatePathMapping(beanName));

View File

@ -123,6 +123,7 @@ public class ControllerClassNameHandlerMapping extends AbstractControllerUrlHand
}
@Override
protected String[] buildUrlsForHandler(String beanName, Class beanClass) {
return generatePathMappings(beanClass);
}

View File

@ -54,6 +54,7 @@ import org.springframework.web.servlet.ModelAndView;
* @deprecated as of Spring 2.5, in favor of annotation-based controllers.
* To be removed in Spring 3.0.
*/
@Deprecated
public interface ThrowawayController {
/**

View File

@ -36,6 +36,7 @@ import org.springframework.web.servlet.ModelAndView;
* @deprecated as of Spring 2.5, in favor of annotation-based controllers.
* To be removed in Spring 3.0.
*/
@Deprecated
public class ThrowawayControllerHandlerAdapter implements HandlerAdapter {
public static final String DEFAULT_COMMAND_NAME = "throwawayController";

View File

@ -323,6 +323,7 @@ public class BindStatus {
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer("BindStatus: ");
sb.append("expression=[").append(this.expression).append("]; ");

View File

@ -90,6 +90,7 @@ public class JspAwareRequestContext extends RequestContext {
* in page, request, session or application scope; if not found,
* returns the <code>HttpServletRequest.getLocale()</code>.
*/
@Override
protected Locale getFallbackLocale() {
if (jstlPresent) {
Locale locale = JstlPageLocaleResolver.getJstlLocale(getPageContext());

View File

@ -117,6 +117,7 @@ public abstract class JstlUtils {
this.request = request;
}
@Override
public ResourceBundle getResourceBundle() {
HttpSession session = this.request.getSession(false);
if (session != null) {
@ -129,6 +130,7 @@ public abstract class JstlUtils {
return new MessageSourceResourceBundle(this.messageSource, getLocale());
}
@Override
public Locale getLocale() {
HttpSession session = this.request.getSession(false);
if (session != null) {

View File

@ -58,6 +58,7 @@ public class BindErrorsTag extends HtmlEscapingAwareTag {
}
@Override
protected final int doStartTagInternal() throws ServletException, JspException {
String resolvedName = ExpressionEvaluationUtils.evaluateString("name", this.name, pageContext);
this.errors = getRequestContext().getErrors(resolvedName, isHtmlEscape());
@ -71,6 +72,7 @@ public class BindErrorsTag extends HtmlEscapingAwareTag {
}
}
@Override
public int doEndTag() {
this.pageContext.removeAttribute(ERRORS_VARIABLE_NAME, PageContext.REQUEST_SCOPE);
return EVAL_PAGE;
@ -85,6 +87,7 @@ public class BindErrorsTag extends HtmlEscapingAwareTag {
}
@Override
public void doFinally() {
super.doFinally();
this.errors = null;

View File

@ -101,6 +101,7 @@ public class BindTag extends HtmlEscapingAwareTag implements EditorAwareTag {
}
@Override
protected final int doStartTagInternal() throws Exception {
String resolvedPath = ExpressionEvaluationUtils.evaluateString("path", getPath(), pageContext);
@ -133,6 +134,7 @@ public class BindTag extends HtmlEscapingAwareTag implements EditorAwareTag {
return EVAL_BODY_INCLUDE;
}
@Override
public int doEndTag() {
// Reset previous status values.
if (this.previousPageStatus != null) {
@ -173,6 +175,7 @@ public class BindTag extends HtmlEscapingAwareTag implements EditorAwareTag {
}
@Override
public void doFinally() {
super.doFinally();
this.status = null;

View File

@ -60,6 +60,7 @@ public class EscapeBodyTag extends HtmlEscapingAwareTag implements BodyTag {
}
@Override
protected int doStartTagInternal() {
// do nothing
return EVAL_BODY_BUFFERED;
@ -73,6 +74,7 @@ public class EscapeBodyTag extends HtmlEscapingAwareTag implements BodyTag {
this.bodyContent = bodyContent;
}
@Override
public int doAfterBody() throws JspException {
try {
String content = readBodyContent();

View File

@ -45,6 +45,7 @@ public class HtmlEscapeTag extends RequestContextAwareTag {
}
@Override
protected int doStartTagInternal() throws JspException {
boolean resolvedDefaultHtmlEscape =
ExpressionEvaluationUtils.evaluateBoolean("defaultHtmlEscape", this.defaultHtmlEscape, pageContext);

View File

@ -158,6 +158,7 @@ public class MessageTag extends HtmlEscapingAwareTag {
* @see org.springframework.web.util.JavaScriptUtils#javaScriptEscape(String)
* @see #writeMessage(String)
*/
@Override
protected final int doStartTagInternal() throws JspException, IOException {
try {
// Resolve the unescaped message.

View File

@ -78,6 +78,7 @@ public class NestedPathTag extends TagSupport implements TryCatchFinally {
}
@Override
public int doStartTag() throws JspException {
String resolvedPath = ExpressionEvaluationUtils.evaluateString("path", getPath(), pageContext);
@ -95,6 +96,7 @@ public class NestedPathTag extends TagSupport implements TryCatchFinally {
/**
* Reset any previous nestedPath value.
*/
@Override
public int doEndTag() {
if (this.previousNestedPath != null) {
// Expose previous nestedPath value.

View File

@ -67,6 +67,7 @@ public abstract class RequestContextAwareTag extends TagSupport implements TryCa
* @see #REQUEST_CONTEXT_PAGE_ATTRIBUTE
* @see org.springframework.web.servlet.support.JspAwareRequestContext
*/
@Override
public final int doStartTag() throws JspException {
this.requestContext = (RequestContext) this.pageContext.getAttribute(REQUEST_CONTEXT_PAGE_ATTRIBUTE);
try {

View File

@ -45,6 +45,7 @@ public class ThemeTag extends MessageTag {
/**
* Use the theme MessageSource for theme message resolution.
*/
@Override
protected MessageSource getMessageSource() {
return getRequestContext().getTheme().getMessageSource();
}
@ -52,6 +53,7 @@ public class ThemeTag extends MessageTag {
/**
* Return exception message that indicates the current theme.
*/
@Override
protected String getNoSuchMessageExceptionDescription(NoSuchMessageException ex) {
return "Theme '" + getRequestContext().getTheme().getName() + "': " + ex.getMessage();
}

View File

@ -90,6 +90,7 @@ public class TransformTag extends HtmlEscapingAwareTag {
}
@Override
protected final int doStartTagInternal() throws JspException {
Object resolvedValue = this.value;
if (this.value instanceof String) {

View File

@ -76,6 +76,7 @@ public abstract class AbstractCheckedElementTag extends AbstractHtmlInputElement
/**
* Return a unique ID for the bound name within the current PageContext.
*/
@Override
protected String autogenerateId() throws JspException {
return TagIdGenerator.nextId(getName(), this.pageContext);
}
@ -86,6 +87,7 @@ public abstract class AbstractCheckedElementTag extends AbstractHtmlInputElement
* {@link org.springframework.web.servlet.tags.form.TagWriter},
* marking it as 'checked' if appropriate.
*/
@Override
protected abstract int writeTagContent(TagWriter tagWriter) throws JspException;
}

View File

@ -53,6 +53,7 @@ public abstract class AbstractDataBoundFormElementTag extends AbstractFormTag im
* command object name is exposed.
* @deprecated as of Spring 2.5, in favor of {@link FormTag#MODEL_ATTRIBUTE_VARIABLE_NAME}
*/
@Deprecated
public static final String COMMAND_NAME_VARIABLE_NAME =
Conventions.getQualifiedAttributeName(AbstractFormTag.class, "commandName");
@ -95,6 +96,7 @@ public abstract class AbstractDataBoundFormElementTag extends AbstractFormTag im
* <p>May be a runtime expression; defaults to the value of {@link #getName()}.
* Note that the default value may not be valid for certain tags.
*/
@Override
public void setId(String id) {
this.id = id;
}
@ -102,6 +104,7 @@ public abstract class AbstractDataBoundFormElementTag extends AbstractFormTag im
/**
* Get the value of the '<code>id</code>' attribute.
*/
@Override
public String getId() {
return this.id;
}
@ -219,6 +222,7 @@ public abstract class AbstractDataBoundFormElementTag extends AbstractFormTag im
/**
* Disposes of the {@link BindStatus} instance.
*/
@Override
public void doFinally() {
super.doFinally();
this.bindStatus = null;

View File

@ -86,6 +86,7 @@ public abstract class AbstractFormTag extends HtmlEscapingAwareTag {
* the created {@link TagWriter} to the {@link #writeTagContent(TagWriter)} method.
* @return the value returned by {@link #writeTagContent(TagWriter)}
*/
@Override
protected final int doStartTagInternal() throws Exception {
return writeTagContent(createTagWriter());
}
@ -111,6 +112,7 @@ public abstract class AbstractFormTag extends HtmlEscapingAwareTag {
/**
* Overridden to default to <code>true</code> in case of no explicit default given.
*/
@Override
protected boolean isDefaultHtmlEscape() {
Boolean defaultHtmlEscape = getRequestContext().getDefaultHtmlEscape();
return (defaultHtmlEscape == null || defaultHtmlEscape.booleanValue());

View File

@ -40,6 +40,7 @@ public abstract class AbstractHtmlElementBodyTag extends AbstractHtmlElementTag
private TagWriter tagWriter;
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
onWriteTagContent();
this.tagWriter = tagWriter;
@ -58,6 +59,7 @@ public abstract class AbstractHtmlElementBodyTag extends AbstractHtmlElementTag
* {@link #renderDefaultContent render the default content}.
* @return Tag#EVAL_PAGE
*/
@Override
public int doEndTag() throws JspException {
if (shouldRender()) {
if (this.bodyContent != null && StringUtils.hasText(this.bodyContent.getString())) {
@ -83,6 +85,7 @@ public abstract class AbstractHtmlElementBodyTag extends AbstractHtmlElementTag
/**
* Clean up any attributes and stored resources.
*/
@Override
public void doFinally() {
super.doFinally();
removeAttributes();

View File

@ -375,6 +375,7 @@ public abstract class AbstractHtmlElementTag extends AbstractDataBoundFormElemen
* Writes the default attributes configured via this base class to the supplied {@link TagWriter}.
* Subclasses should call this when they want the base attribute set to be written to the output.
*/
@Override
protected void writeDefaultAttributes(TagWriter tagWriter) throws JspException {
super.writeDefaultAttributes(tagWriter);
writeOptionalAttributes(tagWriter);

View File

@ -172,6 +172,7 @@ public abstract class AbstractHtmlInputElementTag extends AbstractHtmlElementTag
/**
* Adds input-specific optional attributes as defined by this base class.
*/
@Override
protected void writeOptionalAttributes(TagWriter tagWriter) throws JspException {
super.writeOptionalAttributes(tagWriter);

View File

@ -164,6 +164,7 @@ public abstract class AbstractMultiCheckedElementTag extends AbstractCheckedElem
* Appends a counter to a specified id as well,
* since we're dealing with multiple HTML elements.
*/
@Override
protected String resolveId() throws JspException {
Object id = evaluate("id", getId());
if (id != null) {
@ -178,6 +179,7 @@ public abstract class AbstractMultiCheckedElementTag extends AbstractCheckedElem
* {@link #setItems(Object)} values. Marks the element as checked if the
* value matches the bound value.
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
Object items = getItems();
Object itemsObject = (items instanceof String ? evaluate("items", (String) items) : items);

View File

@ -76,6 +76,7 @@ public abstract class AbstractSingleCheckedElementTag extends AbstractCheckedEle
* {@link #setValue(Object) value}. Marks the element as checked if the
* value matches the {@link #getValue bound value}.
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag("input");
String id = resolveId();

View File

@ -47,6 +47,7 @@ import org.springframework.web.bind.WebDataBinder;
*/
public class CheckboxTag extends AbstractSingleCheckedElementTag {
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
super.writeTagContent(tagWriter);
@ -62,6 +63,7 @@ public class CheckboxTag extends AbstractSingleCheckedElementTag {
return SKIP_BODY;
}
@Override
protected void writeTagDetails(TagWriter tagWriter) throws JspException {
tagWriter.writeAttribute("type", "checkbox");

View File

@ -33,6 +33,7 @@ import org.springframework.web.bind.WebDataBinder;
*/
public class CheckboxesTag extends AbstractMultiCheckedElementTag {
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
super.writeTagContent(tagWriter);
@ -48,6 +49,7 @@ public class CheckboxesTag extends AbstractMultiCheckedElementTag {
return SKIP_BODY;
}
@Override
protected String getInputType() {
return "checkbox";
}

View File

@ -106,6 +106,7 @@ public class ErrorsTag extends AbstractHtmlElementBodyTag implements BodyTag {
* <p>Simply returns <code>null</code> because the '<code>name</code>' attribute
* is not a validate attribute for the '<code>span</code>' element.
*/
@Override
protected String getName() throws JspException {
return null;
}
@ -118,6 +119,7 @@ public class ErrorsTag extends AbstractHtmlElementBodyTag implements BodyTag {
* @return the value for the HTML '<code>id</code>' attribute
* @see #getPropertyPath()
*/
@Override
protected String autogenerateId() throws JspException {
String path = getPropertyPath();
if ("".equals(path)) {
@ -132,6 +134,7 @@ public class ErrorsTag extends AbstractHtmlElementBodyTag implements BodyTag {
* <p>Only renders output when there are errors for the configured {@link #setPath path}.
* @return <code>true</code> only when there are errors for the configured {@link #setPath path}
*/
@Override
protected boolean shouldRender() throws JspException {
try {
return getBindStatus().isError();
@ -142,6 +145,7 @@ public class ErrorsTag extends AbstractHtmlElementBodyTag implements BodyTag {
}
}
@Override
protected void renderDefaultContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag(getElement());
writeDefaultAttributes(tagWriter);
@ -163,6 +167,7 @@ public class ErrorsTag extends AbstractHtmlElementBodyTag implements BodyTag {
* <p>Only called if {@link #shouldRender()} returns <code>true</code>.
* @see #removeAttributes()
*/
@Override
protected void exposeAttributes() throws JspException {
List errorMessages = new ArrayList();
errorMessages.addAll(Arrays.asList(getBindStatus().getErrorMessages()));
@ -176,6 +181,7 @@ public class ErrorsTag extends AbstractHtmlElementBodyTag implements BodyTag {
* {@link #MESSAGES_ATTRIBUTE this key} in the {@link PageContext#PAGE_SCOPE}.
* @see #exposeAttributes()
*/
@Override
protected void removeAttributes() {
if (this.errorMessagesWereExposed) {
if (this.oldMessages != null) {

View File

@ -153,6 +153,7 @@ public class FormTag extends AbstractHtmlElementTag {
/**
* Get the value of the '<code>name</code>' attribute.
*/
@Override
protected String getName() throws JspException {
return this.name;
}
@ -285,6 +286,7 @@ public class FormTag extends AbstractHtmlElementTag {
* @param tagWriter the {@link TagWriter} to which the form content is to be written
* @return {@link javax.servlet.jsp.tagext.Tag#EVAL_BODY_INCLUDE}
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
this.tagWriter = tagWriter;
@ -319,6 +321,7 @@ public class FormTag extends AbstractHtmlElementTag {
/**
* Autogenerated IDs correspond to the form object name.
*/
@Override
protected String autogenerateId() throws JspException {
return resolveModelAttribute();
}
@ -373,6 +376,7 @@ public class FormTag extends AbstractHtmlElementTag {
* Closes the '<code>form</code>' block tag and removes the form object name
* from the {@link javax.servlet.jsp.PageContext}.
*/
@Override
public int doEndTag() throws JspException {
this.tagWriter.endTag();
this.pageContext.removeAttribute(MODEL_ATTRIBUTE_VARIABLE_NAME, PageContext.REQUEST_SCOPE);
@ -391,6 +395,7 @@ public class FormTag extends AbstractHtmlElementTag {
/**
* Clears the stored {@link TagWriter}.
*/
@Override
public void doFinally() {
super.doFinally();
this.tagWriter = null;
@ -401,6 +406,7 @@ public class FormTag extends AbstractHtmlElementTag {
/**
* Override resolve CSS class since error class is not supported.
*/
@Override
protected String resolveCssClass() throws JspException {
return ObjectUtils.getDisplayString(evaluate("cssClass", getCssClass()));
}
@ -409,6 +415,7 @@ public class FormTag extends AbstractHtmlElementTag {
* Unsupported for forms.
* @throws UnsupportedOperationException always
*/
@Override
public void setPath(String path) {
throw new UnsupportedOperationException("The 'path' attribute is not supported for forms");
}
@ -417,6 +424,7 @@ public class FormTag extends AbstractHtmlElementTag {
* Unsupported for forms.
* @throws UnsupportedOperationException always
*/
@Override
public void setCssErrorClass(String cssErrorClass) {
throw new UnsupportedOperationException("The 'cssErrorClass' attribute is not supported for forms");
}

View File

@ -39,6 +39,7 @@ public class HiddenInputTag extends AbstractDataBoundFormElementTag {
* @see #writeDefaultAttributes(TagWriter)
* @see #getBoundValue()
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag("input");
writeDefaultAttributes(tagWriter);

View File

@ -133,6 +133,7 @@ public class InputTag extends AbstractHtmlInputElementTag {
* Uses the value returned by {@link #getType()} to determine which
* type of '<code>input</code>' element to render.
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag("input");

View File

@ -83,6 +83,7 @@ public class LabelTag extends AbstractHtmlElementTag {
* that body content is written correctly.
* @return {@link javax.servlet.jsp.tagext.Tag#EVAL_BODY_INCLUDE}
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag(LABEL_TAG);
tagWriter.writeAttribute(FOR_ATTRIBUTE, resolveFor());
@ -98,6 +99,7 @@ public class LabelTag extends AbstractHtmlElementTag {
* '<code>label</code>' tag.
* @return the value for the HTML '<code>name</code>' attribute
*/
@Override
protected String getName() throws JspException {
// This also suppresses the 'id' attribute (which is okay for a <label/>)
return null;
@ -130,6 +132,7 @@ public class LabelTag extends AbstractHtmlElementTag {
/**
* Close the '<code>label</code>' tag.
*/
@Override
public int doEndTag() throws JspException {
this.tagWriter.endTag();
return EVAL_PAGE;
@ -138,6 +141,7 @@ public class LabelTag extends AbstractHtmlElementTag {
/**
* Disposes of the {@link TagWriter} instance.
*/
@Override
public void doFinally() {
super.doFinally();
this.tagWriter = null;

View File

@ -147,12 +147,14 @@ public class OptionTag extends AbstractHtmlElementBodyTag implements BodyTag {
}
@Override
protected void renderDefaultContent(TagWriter tagWriter) throws JspException {
Object value = this.pageContext.getAttribute(VALUE_VARIABLE_NAME);
String label = getLabelValue(value);
renderOption(value, label, tagWriter);
}
@Override
protected void renderFromBodyContent(BodyContent bodyContent, TagWriter tagWriter) throws JspException {
Object value = this.pageContext.getAttribute(VALUE_VARIABLE_NAME);
String label = bodyContent.getString();
@ -162,10 +164,12 @@ public class OptionTag extends AbstractHtmlElementBodyTag implements BodyTag {
/**
* Make sure we are under a '<code>select</code>' tag before proceeding.
*/
@Override
protected void onWriteTagContent() {
assertUnderSelectTag();
}
@Override
protected void exposeAttributes() throws JspException {
Object value = resolveValue();
this.oldValue = this.pageContext.getAttribute(VALUE_VARIABLE_NAME);
@ -174,10 +178,12 @@ public class OptionTag extends AbstractHtmlElementBodyTag implements BodyTag {
this.pageContext.setAttribute(DISPLAY_VALUE_VARIABLE_NAME, getDisplayString(value, getBindStatus().getEditor()));
}
@Override
protected BindStatus getBindStatus() {
return (BindStatus) this.pageContext.getAttribute(SelectTag.LIST_VALUE_PAGE_ATTRIBUTE);
}
@Override
protected void removeAttributes() {
if (this.oldValue != null) {
this.pageContext.setAttribute(VALUE_ATTRIBUTE, this.oldValue);
@ -212,6 +218,7 @@ public class OptionTag extends AbstractHtmlElementBodyTag implements BodyTag {
tagWriter.endTag();
}
@Override
protected String autogenerateId() throws JspException {
return null;
}

View File

@ -142,6 +142,7 @@ public class OptionsTag extends AbstractHtmlElementTag {
}
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
assertUnderSelectTag();
Object items = getItems();
@ -163,6 +164,7 @@ public class OptionsTag extends AbstractHtmlElementTag {
* Appends a counter to a specified id,
* since we're dealing with multiple HTML elements.
*/
@Override
protected String resolveId() throws JspException {
Object id = evaluate("id", getId());
if (id != null) {
@ -176,6 +178,7 @@ public class OptionsTag extends AbstractHtmlElementTag {
TagUtils.assertHasAncestorOfType(this, SelectTag.class, "options", "select");
}
@Override
protected BindStatus getBindStatus() {
return (BindStatus) this.pageContext.getAttribute(SelectTag.LIST_VALUE_PAGE_ATTRIBUTE);
}
@ -190,10 +193,12 @@ public class OptionsTag extends AbstractHtmlElementTag {
super(optionSource, getBindStatus(), valueProperty, labelProperty, isHtmlEscape());
}
@Override
protected boolean isOptionDisabled() {
return isDisabled();
}
@Override
protected void writeCommonAttributes(TagWriter tagWriter) throws JspException {
writeOptionalAttribute(tagWriter, "id", resolveId());
writeOptionalAttributes(tagWriter);

View File

@ -51,6 +51,7 @@ public class PasswordInputTag extends InputTag {
* Return '<code>password</code>' causing the rendered HTML '<code>input</code>'
* element to have a '<code>type</code>' of '<code>password</code>'.
*/
@Override
protected String getType() {
return "password";
}
@ -60,6 +61,7 @@ public class PasswordInputTag extends InputTag {
* {@link #setShowPassword(boolean) 'showPassword'} property value is
* {@link Boolean#TRUE true}.
*/
@Override
protected void writeValue(TagWriter tagWriter) throws JspException {
if (this.showPassword) {
super.writeValue(tagWriter);

View File

@ -34,6 +34,7 @@ import javax.servlet.jsp.JspException;
*/
public class RadioButtonTag extends AbstractSingleCheckedElementTag {
@Override
protected void writeTagDetails(TagWriter tagWriter) throws JspException {
tagWriter.writeAttribute("type", "radio");
Object resolvedValue = evaluate("value", getValue());

View File

@ -29,6 +29,7 @@ package org.springframework.web.servlet.tags.form;
*/
public class RadioButtonsTag extends AbstractMultiCheckedElementTag {
@Override
protected String getInputType() {
return "radio";
}

View File

@ -193,6 +193,7 @@ public class SelectTag extends AbstractHtmlInputElementTag {
* {@link #setItems items} property is set, otherwise exposes the
* bound value for the nested {@link OptionTag OptionTags}.
*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag("select");
writeDefaultAttributes(tagWriter);
@ -287,6 +288,7 @@ public class SelectTag extends AbstractHtmlInputElementTag {
* Closes any block tag that might have been opened when using
* nested {@link OptionTag options}.
*/
@Override
public int doEndTag() throws JspException {
if (this.tagWriter != null) {
this.tagWriter.endTag();
@ -299,6 +301,7 @@ public class SelectTag extends AbstractHtmlInputElementTag {
* Clears the {@link TagWriter} that might have been left over when using
* nested {@link OptionTag options}.
*/
@Override
public void doFinally() {
super.doFinally();
this.tagWriter = null;

View File

@ -89,6 +89,7 @@ public class TextareaTag extends AbstractHtmlInputElementTag {
}
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
tagWriter.startTag("textarea");
writeDefaultAttributes(tagWriter);

View File

@ -59,6 +59,7 @@ public class ThemeChangeInterceptor extends HandlerInterceptorAdapter {
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws ServletException {

View File

@ -120,6 +120,7 @@ public abstract class AbstractTemplateView extends AbstractUrlBasedView {
}
@Override
protected final void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {

View File

@ -43,6 +43,7 @@ public class AbstractTemplateViewResolver extends UrlBasedViewResolver {
private boolean exposeSpringMacroHelpers = true;
@Override
protected Class requiredViewClass() {
return AbstractTemplateView.class;
}
@ -97,6 +98,7 @@ public class AbstractTemplateViewResolver extends UrlBasedViewResolver {
}
@Override
protected AbstractUrlBasedView buildView(String viewName) throws Exception {
AbstractTemplateView view = (AbstractTemplateView) super.buildView(viewName);
view.setExposeRequestAttributes(this.exposeRequestAttributes);

View File

@ -76,6 +76,7 @@ public abstract class AbstractUrlBasedView extends AbstractView implements Initi
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer(super.toString());
sb.append("; URL [").append(getUrl()).append("]");

View File

@ -377,6 +377,7 @@ public abstract class AbstractView extends WebApplicationObjectSupport implement
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer(getClass().getName());
if (getBeanName() != null) {

View File

@ -175,6 +175,7 @@ public class InternalResourceView extends AbstractUrlBasedView {
/**
* An ApplicationContext is not strictly required for InternalResourceView.
*/
@Override
protected boolean isContextRequired() {
return false;
}
@ -185,6 +186,7 @@ public class InternalResourceView extends AbstractUrlBasedView {
* @see #setExposeForwardAttributes
* @see #exposeForwardRequestAttributes(javax.servlet.http.HttpServletRequest)
*/
@Override
protected void initServletContext(ServletContext sc) {
if (this.exposeForwardAttributes == null && sc.getMajorVersion() == 2 && sc.getMinorVersion() < 5) {
this.exposeForwardAttributes = Boolean.TRUE;
@ -196,6 +198,7 @@ public class InternalResourceView extends AbstractUrlBasedView {
* Render the internal resource given the specified model.
* This includes setting the model as request attributes.
*/
@Override
protected void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {

View File

@ -75,6 +75,7 @@ public class InternalResourceViewResolver extends UrlBasedViewResolver {
/**
* This resolver requires {@link InternalResourceView}.
*/
@Override
protected Class requiredViewClass() {
return InternalResourceView.class;
}
@ -114,6 +115,7 @@ public class InternalResourceViewResolver extends UrlBasedViewResolver {
}
@Override
protected AbstractUrlBasedView buildView(String viewName) throws Exception {
InternalResourceView view = (InternalResourceView) super.buildView(viewName);
if (this.alwaysInclude != null) {

View File

@ -114,6 +114,7 @@ public class JstlView extends InternalResourceView {
* context-param.
* @see JstlUtils#getJstlAwareMessageSource
*/
@Override
protected void initServletContext(ServletContext servletContext) {
if (this.messageSource != null) {
this.messageSource = JstlUtils.getJstlAwareMessageSource(servletContext, this.messageSource);
@ -125,6 +126,7 @@ public class JstlView extends InternalResourceView {
* Exposes a JSTL LocalizationContext for Spring's locale and MessageSource.
* @see JstlUtils#exposeLocalizationContext
*/
@Override
protected void exposeHelpers(HttpServletRequest request) throws Exception {
if (this.messageSource != null) {
JstlUtils.exposeLocalizationContext(request, this.messageSource);

View File

@ -189,6 +189,7 @@ public class RedirectView extends AbstractUrlBasedView {
* @see #appendQueryProperties
* @see #sendRedirect
*/
@Override
protected void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws IOException {

View File

@ -174,6 +174,7 @@ public class ResourceBundleViewResolver extends AbstractCachingViewResolver impl
}
@Override
protected void initApplicationContext() throws BeansException {
if (this.localesToInitialize != null) {
for (int i = 0; i < this.localesToInitialize.length; i++) {
@ -182,6 +183,7 @@ public class ResourceBundleViewResolver extends AbstractCachingViewResolver impl
}
}
@Override
protected View loadView(String viewName, Locale locale) throws Exception {
BeanFactory factory = initFactory(locale);
try {

View File

@ -333,6 +333,7 @@ public class UrlBasedViewResolver extends AbstractCachingViewResolver implements
return this.order;
}
@Override
protected void initApplicationContext() {
super.initApplicationContext();
if (getViewClass() == null) {
@ -345,6 +346,7 @@ public class UrlBasedViewResolver extends AbstractCachingViewResolver implements
* This implementation returns just the view name,
* as this ViewResolver doesn't support localized resolution.
*/
@Override
protected Object getCacheKey(String viewName, Locale locale) {
return viewName;
}
@ -357,6 +359,7 @@ public class UrlBasedViewResolver extends AbstractCachingViewResolver implements
* @see #loadView
* @see #requiredViewClass
*/
@Override
protected View createView(String viewName, Locale locale) throws Exception {
// If this resolver is not supposed to handle the given view,
// return null to pass on to the next resolver in the chain.
@ -408,6 +411,7 @@ public class UrlBasedViewResolver extends AbstractCachingViewResolver implements
* @see org.springframework.context.ApplicationContextAware#setApplicationContext
* @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet
*/
@Override
protected View loadView(String viewName, Locale locale) throws Exception {
AbstractUrlBasedView view = buildView(viewName);
return (View) getApplicationContext().getAutowireCapableBeanFactory().initializeBean(view, viewName);

View File

@ -84,6 +84,7 @@ public class XmlViewResolver extends AbstractCachingViewResolver implements Orde
* Pre-initialize the factory from the XML file.
* Only effective if caching is enabled.
*/
@Override
protected void initApplicationContext() throws BeansException {
if (isCache()) {
initFactory();
@ -95,10 +96,12 @@ public class XmlViewResolver extends AbstractCachingViewResolver implements Orde
* This implementation returns just the view name,
* as XmlViewResolver doesn't support localized resolution.
*/
@Override
protected Object getCacheKey(String viewName, Locale locale) {
return viewName;
}
@Override
protected View loadView(String viewName, Locale locale) throws BeansException {
BeanFactory factory = initFactory();
try {

View File

@ -121,6 +121,7 @@ public abstract class AbstractExcelView extends AbstractView {
}
@Override
protected boolean generatesDownloadContent() {
return true;
}
@ -128,6 +129,7 @@ public abstract class AbstractExcelView extends AbstractView {
/**
* Renders the Excel view, given the specified model.
*/
@Override
protected final void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {

View File

@ -107,6 +107,7 @@ public abstract class AbstractJExcelView extends AbstractView {
}
@Override
protected boolean generatesDownloadContent() {
return true;
}
@ -114,6 +115,7 @@ public abstract class AbstractJExcelView extends AbstractView {
/**
* Renders the Excel view, given the specified model.
*/
@Override
protected final void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {

View File

@ -46,10 +46,12 @@ public abstract class AbstractPdfStamperView extends AbstractUrlBasedView {
}
@Override
protected boolean generatesDownloadContent() {
return true;
}
@Override
protected final void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws Exception{

View File

@ -56,10 +56,12 @@ public abstract class AbstractPdfView extends AbstractView {
}
@Override
protected boolean generatesDownloadContent() {
return true;
}
@Override
protected final void renderMergedOutputModel(
Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {

View File

@ -119,6 +119,7 @@ public class FreeMarkerConfigurer extends FreeMarkerConfigurationFactory
* This implementation registers an additional ClassTemplateLoader
* for the Spring-provided macros, added to the end of the list.
*/
@Override
protected void postProcessTemplateLoaders(List templateLoaders) {
templateLoaders.add(new ClassTemplateLoader(FreeMarkerConfigurer.class, ""));
logger.info("ClassTemplateLoader for Spring macros added to FreeMarker configuration");

Some files were not shown because too many files have changed in this diff Show More