Replace <code> with {@code} throughout Javadoc

Issue: SPR-10128
This commit is contained in:
Chris Beams
2012-12-18 14:45:36 +01:00
parent 8597ec25ec
commit 9540d2c81b
1503 changed files with 8001 additions and 8060 deletions

View File

@@ -108,15 +108,15 @@ import org.springframework.web.servlet.ViewResolver;
* The MultipartResolver bean name is "portletMultipartResolver"; default is none.
* </ul>
*
* <p><b>NOTE: The <code>@RequestMapping</code> annotation will only be processed
* if a corresponding <code>HandlerMapping</code> (for type level annotations)
* and/or <code>HandlerAdapter</code> (for method level annotations)
* <p><b>NOTE: The {@code @RequestMapping} annotation will only be processed
* if a corresponding {@code HandlerMapping} (for type level annotations)
* and/or {@code HandlerAdapter} (for method level annotations)
* is present in the dispatcher.</b> This is the case by default.
* However, if you are defining custom <code>HandlerMappings</code> or
* <code>HandlerAdapters</code>, then you need to make sure that a
* corresponding custom <code>DefaultAnnotationHandlerMapping</code>
* and/or <code>AnnotationMethodHandlerAdapter</code> is defined as well
* - provided that you intend to use <code>@RequestMapping</code>.
* However, if you are defining custom {@code HandlerMappings} or
* {@code HandlerAdapters}, then you need to make sure that a
* corresponding custom {@code DefaultAnnotationHandlerMapping}
* and/or {@code AnnotationMethodHandlerAdapter} is defined as well
* - provided that you intend to use {@code @RequestMapping}.
*
* <p><b>A web application can define any number of DispatcherPortlets.</b>
* Each portlet will operate in its own namespace, loading its own application
@@ -170,7 +170,7 @@ public class DispatcherPortlet extends FrameworkPortlet {
/**
* Default URL to ViewRendererServlet. This bridge servlet is used to convert
* portlet render requests to servlet requests in order to leverage the view support
* in the <code>org.springframework.web.view</code> package.
* in the {@code org.springframework.web.view} package.
*/
public static final String DEFAULT_VIEW_RENDERER_URL = "/WEB-INF/servlet/view";
@@ -615,7 +615,7 @@ public class DispatcherPortlet extends FrameworkPortlet {
/**
* Obtain this portlet's PortletMultipartResolver, if any.
* @return the PortletMultipartResolver used by this portlet, or <code>null</code>
* @return the PortletMultipartResolver used by this portlet, or {@code null}
* if none (indicating that no multipart support is available)
*/
public PortletMultipartResolver getMultipartResolver() {

View File

@@ -362,7 +362,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
/**
* Post-process the given Portlet ApplicationContext before it is refreshed
* and activated as context for this portlet.
* <p>The default implementation is empty. <code>refresh()</code> will
* <p>The default implementation is empty. {@code refresh()} will
* be called automatically after this method returns.
* @param pac the configured Portlet ApplicationContext (not refreshed yet)
* @see #createPortletApplicationContext
@@ -488,7 +488,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
/**
* Process this request, publishing an event regardless of the outcome.
* The actual event handling is performed by the abstract
* <code>doActionService()</code> and <code>doRenderService()</code> template methods.
* {@code doActionService()} and {@code doRenderService()} template methods.
* @see #doActionService
* @see #doRenderService
*/
@@ -591,7 +591,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
* If that does not exist, then it checks the USER_INFO map.
* Can be overridden in subclasses.
* @param request current portlet request
* @return the username, or <code>null</code> if none found
* @return the username, or {@code null} if none found
* @see javax.portlet.PortletRequest#getUserPrincipal()
* @see javax.portlet.PortletRequest#getRemoteUser()
* @see javax.portlet.PortletRequest#USER_INFO
@@ -628,7 +628,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
/**
* Subclasses must implement this method to do the work of action request handling.
* <p>The contract is essentially the same as that for the <code>processAction</code>
* <p>The contract is essentially the same as that for the {@code processAction}
* method of GenericPortlet.
* <p>This class intercepts calls to ensure that exception handling and
* event publication takes place.
@@ -642,7 +642,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
/**
* Subclasses must implement this method to do the work of render request handling.
* <p>The contract is essentially the same as that for the <code>doDispatch</code>
* <p>The contract is essentially the same as that for the {@code doDispatch}
* method of GenericPortlet.
* <p>This class intercepts calls to ensure that exception handling and
* event publication takes place.
@@ -656,7 +656,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
/**
* Subclasses must implement this method to do the work of resource request handling.
* <p>The contract is essentially the same as that for the <code>serveResource</code>
* <p>The contract is essentially the same as that for the {@code serveResource}
* method of GenericPortlet.
* <p>This class intercepts calls to ensure that exception handling and
* event publication takes place.
@@ -670,7 +670,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
/**
* Subclasses must implement this method to do the work of event request handling.
* <p>The contract is essentially the same as that for the <code>processEvent</code>
* <p>The contract is essentially the same as that for the {@code processEvent}
* method of GenericPortlet.
* <p>This class intercepts calls to ensure that exception handling and
* event publication takes place.

View File

@@ -46,14 +46,14 @@ import org.springframework.web.portlet.context.PortletContextResourceLoader;
import org.springframework.web.portlet.context.StandardPortletEnvironment;
/**
* Simple extension of <code>javax.portlet.GenericPortlet</code> that treats
* Simple extension of {@code javax.portlet.GenericPortlet} that treats
* its config parameters as bean properties.
*
* <p>A very handy superclass for any type of portlet. Type conversion is automatic.
* It is also possible for subclasses to specify required properties.
*
* <p>This portlet leaves request handling to subclasses, inheriting the default
* behaviour of GenericPortlet (<code>doDispatch</code>, <code>processAction</code>, etc).
* behaviour of GenericPortlet ({@code doDispatch}, {@code processAction}, etc).
*
* <p>This portlet superclass has no dependency on a Spring application context,
* in contrast to the FrameworkPortlet class which loads its own context.
@@ -140,7 +140,7 @@ public abstract class GenericPortletBean extends GenericPortlet
/**
* Overridden method that simply returns <code>null</code> when no
* Overridden method that simply returns {@code null} when no
* PortletConfig set yet.
* @see #getPortletConfig()
*/
@@ -150,7 +150,7 @@ public abstract class GenericPortletBean extends GenericPortlet
}
/**
* Overridden method that simply returns <code>null</code> when no
* Overridden method that simply returns {@code null} when no
* PortletConfig set yet.
* @see #getPortletConfig()
*/

View File

@@ -54,9 +54,9 @@ public interface HandlerAdapter {
* support it. Typical HandlerAdapters will base the decision on the handler
* type. HandlerAdapters will usually only support one handler type each.
* <p>A typical implementation:
* <p><code>
* <p>{@code
* return (handler instanceof MyHandler);
* </code>
* }
* @param handler handler object to check
* @return whether or not this object can use the given handler
*/
@@ -68,7 +68,7 @@ public interface HandlerAdapter {
* @param request current action request
* @param response current action response
* @param handler handler to use. This object must have previously been passed
* to the <code>supports</code> method of this interface, which must have
* to the {@code supports} method of this interface, which must have
* returned true.
* @throws Exception in case of errors
* @see javax.portlet.Portlet#processAction
@@ -81,11 +81,11 @@ public interface HandlerAdapter {
* @param request current render request
* @param response current render response
* @param handler handler to use. This object must have previously been passed
* to the <code>supports</code> method of this interface, which must have
* returned <code>true</code>.
* to the {@code supports} method of this interface, which must have
* returned {@code true}.
* @throws Exception in case of errors
* @return ModelAndView object with the name of the view and the required
* model data, or <code>null</code> if the request has been handled directly
* model data, or {@code null} if the request has been handled directly
* @see javax.portlet.Portlet#render
*/
ModelAndView handleRender(RenderRequest request, RenderResponse response, Object handler) throws Exception;
@@ -96,11 +96,11 @@ public interface HandlerAdapter {
* @param request current render request
* @param response current render response
* @param handler handler to use. This object must have previously been passed
* to the <code>supports</code> method of this interface, which must have
* returned <code>true</code>.
* to the {@code supports} method of this interface, which must have
* returned {@code true}.
* @throws Exception in case of errors
* @return ModelAndView object with the name of the view and the required
* model data, or <code>null</code> if the request has been handled directly
* model data, or {@code null} if the request has been handled directly
* @see javax.portlet.ResourceServingPortlet#serveResource
*/
ModelAndView handleResource(ResourceRequest request, ResourceResponse response, Object handler) throws Exception;
@@ -111,7 +111,7 @@ public interface HandlerAdapter {
* @param request current action request
* @param response current action response
* @param handler handler to use. This object must have previously been passed
* to the <code>supports</code> method of this interface, which must have
* to the {@code supports} method of this interface, which must have
* returned true.
* @throws Exception in case of errors
* @see javax.portlet.EventPortlet#processEvent

View File

@@ -45,7 +45,7 @@ public interface HandlerExceptionResolver {
* the exception (for example, if multipart resolution failed)
* @param ex the exception that got thrown during handler execution
* @return a corresponding ModelAndView to forward to,
* or <code>null</code> for default processing
* or {@code null} for default processing
*/
ModelAndView resolveException(
RenderRequest request, RenderResponse response, Object handler, Exception ex);
@@ -59,7 +59,7 @@ public interface HandlerExceptionResolver {
* the exception (for example, if multipart resolution failed)
* @param ex the exception that got thrown during handler execution
* @return a corresponding ModelAndView to forward to,
* or <code>null</code> for default processing
* or {@code null} for default processing
*/
ModelAndView resolveException(
ResourceRequest request, ResourceResponse response, Object handler, Exception ex);

View File

@@ -101,7 +101,7 @@ public class HandlerExecutionChain {
/**
* Return the array of interceptors to apply (in the given order).
* @return the array of HandlerInterceptors instances (may be <code>null</code>)
* @return the array of HandlerInterceptors instances (may be {@code null})
*/
public HandlerInterceptor[] getInterceptors() {
if (this.interceptors == null && this.interceptorList != null) {
@@ -112,7 +112,7 @@ public class HandlerExecutionChain {
/**
* Delegates to the handler's <code>toString()</code>.
* Delegates to the handler's {@code toString()}.
*/
@Override
public String toString() {

View File

@@ -31,35 +31,35 @@ import javax.portlet.ResourceRequest;
* for certain groups of handlers, to add common pre-processing behavior
* without needing to modify each handler implementation.
*
* <p>A <code>HandlerInterceptor</code> gets called before the appropriate
* {@link org.springframework.web.portlet.HandlerAdapter} triggers the
* <p>A {@code HandlerInterceptor} gets called before the appropriate
* {@link HandlerAdapter} triggers the
* execution of the handler itself. This mechanism can be used for a large
* field of preprocessing aspects, e.g. for authorization checks,
* or common handler behavior like locale or theme changes. Its main purpose
* is to permit the factoring out of otherwise repetitive handler code.
*
* <p>Typically an interceptor chain is defined per
* {@link org.springframework.web.portlet.HandlerMapping} bean, sharing its
* {@link HandlerMapping} bean, sharing its
* granularity. To be able to apply a certain interceptor chain to a group of
* handlers, one needs to map the desired handlers via one
* <code>HandlerMapping</code> bean. The interceptors themselves are defined as
* {@code HandlerMapping} bean. The interceptors themselves are defined as
* beans in the application context, referenced by the mapping bean definition
* via its
* {@link org.springframework.web.portlet.handler.AbstractHandlerMapping#setInterceptors "interceptors"}
* property (in XML: a &lt;list&gt; of &lt;ref&gt; elements).
*
* <p>A <code>HandlerInterceptor</code> is basically similar to a Servlet
* <p>A {@code HandlerInterceptor} is basically similar to a Servlet
* {@link javax.servlet.Filter}, but in contrast to the latter it allows
* custom pre-processing with the option to prohibit the execution of the handler
* itself, and custom post-processing. <code>Filters</code> are more powerful;
* itself, and custom post-processing. {@code Filters} are more powerful;
* for example they allow for exchanging the request and response objects that
* are handed down the chain. Note that a filter gets configured in
* <code>web.xml</code>, a <code>HandlerInterceptor</code> in the application context.
* {@code web.xml}, a {@code HandlerInterceptor} in the application context.
*
* <p>As a basic guideline, fine-grained handler-related pre-processing tasks are
* candidates for <code>HandlerInterceptor</code> implementations, especially
* candidates for {@code HandlerInterceptor} implementations, especially
* factored-out common handler code and authorization checks. On the other hand,
* a <code>Filter</code> is well-suited for request content and view content
* a {@code Filter} is well-suited for request content and view content
* handling, like multipart forms and GZIP compression. This typically shows when
* one needs to map the filter to certain content types (e.g. images), or to all
* requests.
@@ -69,40 +69,40 @@ import javax.portlet.ResourceRequest;
* essential.
*
* <p>If we assume a "sunny day" request cycle (i.e. a request where nothing goes wrong
* and all is well), the workflow of a <code>HandlerInterceptor</code> will be as
* and all is well), the workflow of a {@code HandlerInterceptor} will be as
* follows:
*
* <p><b>Action Request:</b><p>
* <ol>
* <li><code>DispatcherPortlet</code> maps the action request to a particular handler
* <li>{@code DispatcherPortlet} maps the action request to a particular handler
* and assembles a handler execution chain consisting of the handler that
* is to be invoked and all of the <code>HandlerInterceptor</code>
* is to be invoked and all of the {@code HandlerInterceptor}
* instances that apply to the request.</li>
* <li>{@link org.springframework.web.portlet.HandlerInterceptor#preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object) preHandleAction(..)}
* is called; if the invocation of this method returns <code>true</code> then
* <li>{@link HandlerInterceptor#preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object) preHandleAction(..)}
* is called; if the invocation of this method returns {@code true} then
* this workflow continues</li>
* <li>The target handler handles the action request (via
* {@link org.springframework.web.portlet.HandlerAdapter#handleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object) HandlerAdapter.handleAction(..)})</li>
* <li>{@link org.springframework.web.portlet.HandlerInterceptor#afterActionCompletion(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object, Exception) afterActionCompletion(..)}
* {@link HandlerAdapter#handleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object) HandlerAdapter.handleAction(..)})</li>
* <li>{@link HandlerInterceptor#afterActionCompletion(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object, Exception) afterActionCompletion(..)}
* is called</li>
* </ol>
*
* <p><b>Render Request:</b><p>
* <ol>
* <li><code>DispatcherPortlet</code> maps the render request to a particular handler
* <li>{@code DispatcherPortlet} maps the render request to a particular handler
* and assembles a handler execution chain consisting of the handler that
* is to be invoked and all of the <code>HandlerInterceptor</code>
* is to be invoked and all of the {@code HandlerInterceptor}
* instances that apply to the request.</li>
* <li>{@link org.springframework.web.portlet.HandlerInterceptor#preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object) preHandleRender(..)}
* is called; if the invocation of this method returns <code>true</code> then
* <li>{@link HandlerInterceptor#preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object) preHandleRender(..)}
* is called; if the invocation of this method returns {@code true} then
* this workflow continues</li>
* <li>The target handler handles the render request (via
* {@link org.springframework.web.portlet.HandlerAdapter#handleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object) HandlerAdapter.handleRender(..)})</li>
* <li>{@link org.springframework.web.portlet.HandlerInterceptor#postHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object, ModelAndView) postHandleRender(..)}
* {@link HandlerAdapter#handleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object) HandlerAdapter.handleRender(..)})</li>
* <li>{@link HandlerInterceptor#postHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object, ModelAndView) postHandleRender(..)}
* is called</li>
* <li>If the <code>HandlerAdapter</code> returned a <code>ModelAndView</code>,
* then <code>DispatcherPortlet</code> renders the view accordingly
* <li>{@link org.springframework.web.portlet.HandlerInterceptor#afterRenderCompletion(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object, Exception) afterRenderCompletion(..)}
* <li>If the {@code HandlerAdapter} returned a {@code ModelAndView},
* then {@code DispatcherPortlet} renders the view accordingly
* <li>{@link HandlerInterceptor#afterRenderCompletion(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object, Exception) afterRenderCompletion(..)}
* is called</li>
* </ol>
*
@@ -110,9 +110,9 @@ import javax.portlet.ResourceRequest;
* @author John A. Lewis
* @since 2.0
* @see HandlerExecutionChain#getInterceptors
* @see org.springframework.web.portlet.HandlerMapping
* @see HandlerMapping
* @see org.springframework.web.portlet.handler.AbstractHandlerMapping#setInterceptors
* @see org.springframework.web.portlet.HandlerExecutionChain
* @see HandlerExecutionChain
*/
public interface HandlerInterceptor {
@@ -128,8 +128,8 @@ public interface HandlerInterceptor {
* @param request current portlet action request
* @param response current portlet action response
* @param handler chosen handler to execute, for type and/or instance evaluation
* @return <code>true</code> if the execution chain should proceed with the
* next interceptor or the handler itself. Else, <code>DispatcherPortlet</code>
* @return {@code true} if the execution chain should proceed with the
* next interceptor or the handler itself. Else, {@code DispatcherPortlet}
* assumes that this interceptor has already dealt with the response itself
* @throws Exception in case of errors
*/
@@ -142,13 +142,13 @@ public interface HandlerInterceptor {
* thus allowing for proper resource cleanup.
* <p>Note: Will only be called if this interceptor's
* {@link #preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object)}
* method has successfully completed and returned <code>true</code>!
* method has successfully completed and returned {@code true}!
* @param request current portlet action request
* @param response current portlet action response
* @param handler chosen handler to execute, for type and/or instance examination
* @param ex exception thrown on handler execution, if any (only included as
* additional context information for the case where a handler threw an exception;
* request execution may have failed even when this argument is <code>null</code>)
* request execution may have failed even when this argument is {@code null})
* @throws Exception in case of errors
*/
void afterActionCompletion(
@@ -167,8 +167,8 @@ public interface HandlerInterceptor {
* @param request current portlet render request
* @param response current portlet render response
* @param handler chosen handler to execute, for type and/or instance evaluation
* @return <code>true</code> if the execution chain should proceed with the
* next interceptor or the handler itself. Else, <code>DispatcherPortlet</code>
* @return {@code true} if the execution chain should proceed with the
* next interceptor or the handler itself. Else, {@code DispatcherPortlet}
* assumes that this interceptor has already dealt with the response itself
* @throws Exception in case of errors
*/
@@ -178,17 +178,17 @@ public interface HandlerInterceptor {
/**
* Intercept the execution of a handler in the render phase.
* <p>Called after a {@link HandlerAdapter} actually invoked the handler, but
* before the <code>DispatcherPortlet</code> renders the view. Can thus expose
* before the {@code DispatcherPortlet} renders the view. Can thus expose
* additional model objects to the view via the given {@link ModelAndView}.
* <p><code>DispatcherPortlet</code> processes a handler in an execution chain,
* <p>{@code DispatcherPortlet} processes a handler in an execution chain,
* consisting of any number of interceptors, with the handler itself at the end.
* With this method, each interceptor can post-process an execution, getting
* applied in inverse order of the execution chain.
* @param request current portlet render request
* @param response current portlet render response
* @param handler chosen handler to execute, for type and/or instance examination
* @param modelAndView the <code>ModelAndView</code> that the handler returned
* (can also be <code>null</code>)
* @param modelAndView the {@code ModelAndView} that the handler returned
* (can also be {@code null})
* @throws Exception in case of errors
*/
void postHandleRender(
@@ -201,7 +201,7 @@ public interface HandlerInterceptor {
* for proper resource cleanup.
* <p>Note: Will only be called if this interceptor's
* {@link #preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object)}
* method has successfully completed and returned <code>true</code>!
* method has successfully completed and returned {@code true}!
* @param request current portlet render request
* @param response current portlet render response
* @param handler chosen handler to execute, for type and/or instance examination
@@ -224,8 +224,8 @@ public interface HandlerInterceptor {
* @param request current portlet render request
* @param response current portlet render response
* @param handler chosen handler to execute, for type and/or instance evaluation
* @return <code>true</code> if the execution chain should proceed with the
* next interceptor or the handler itself. Else, <code>DispatcherPortlet</code>
* @return {@code true} if the execution chain should proceed with the
* next interceptor or the handler itself. Else, {@code DispatcherPortlet}
* assumes that this interceptor has already dealt with the response itself
* @throws Exception in case of errors
*/
@@ -235,17 +235,17 @@ public interface HandlerInterceptor {
/**
* Intercept the execution of a handler in the render phase.
* <p>Called after a {@link HandlerAdapter} actually invoked the handler, but
* before the <code>DispatcherPortlet</code> renders the view. Can thus expose
* before the {@code DispatcherPortlet} renders the view. Can thus expose
* additional model objects to the view via the given {@link ModelAndView}.
* <p><code>DispatcherPortlet</code> processes a handler in an execution chain,
* <p>{@code DispatcherPortlet} processes a handler in an execution chain,
* consisting of any number of interceptors, with the handler itself at the end.
* With this method, each interceptor can post-process an execution, getting
* applied in inverse order of the execution chain.
* @param request current portlet render request
* @param response current portlet render response
* @param handler chosen handler to execute, for type and/or instance examination
* @param modelAndView the <code>ModelAndView</code> that the handler returned
* (can also be <code>null</code>)
* @param modelAndView the {@code ModelAndView} that the handler returned
* (can also be {@code null})
* @throws Exception in case of errors
*/
void postHandleResource(
@@ -258,7 +258,7 @@ public interface HandlerInterceptor {
* for proper resource cleanup.
* <p>Note: Will only be called if this interceptor's
* {@link #preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object)}
* method has successfully completed and returned <code>true</code>!
* method has successfully completed and returned {@code true}!
* @param request current portlet render request
* @param response current portlet render response
* @param handler chosen handler to execute, for type and/or instance examination
@@ -282,8 +282,8 @@ public interface HandlerInterceptor {
* @param request current portlet action request
* @param response current portlet action response
* @param handler chosen handler to execute, for type and/or instance evaluation
* @return <code>true</code> if the execution chain should proceed with the
* next interceptor or the handler itself. Else, <code>DispatcherPortlet</code>
* @return {@code true} if the execution chain should proceed with the
* next interceptor or the handler itself. Else, {@code DispatcherPortlet}
* assumes that this interceptor has already dealt with the response itself
* @throws Exception in case of errors
*/
@@ -296,13 +296,13 @@ public interface HandlerInterceptor {
* thus allowing for proper resource cleanup.
* <p>Note: Will only be called if this interceptor's
* {@link #preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object)}
* method has successfully completed and returned <code>true</code>!
* method has successfully completed and returned {@code true}!
* @param request current portlet action request
* @param response current portlet action response
* @param handler chosen handler to execute, for type and/or instance examination
* @param ex exception thrown on handler execution, if any (only included as
* additional context information for the case where a handler threw an exception;
* request execution may have failed even when this argument is <code>null</code>)
* request execution may have failed even when this argument is {@code null})
* @throws Exception in case of errors
*/
void afterEventCompletion(

View File

@@ -33,8 +33,8 @@ import javax.portlet.PortletRequest;
* have to. A handler will always be wrapped in a {@link HandlerExecutionChain}
* instance, optionally accompanied by some {@link HandlerInterceptor} instances.
* The DispatcherPortlet will first call each HandlerInterceptor's
* <code>preHandle</code> method in the given order, finally invoking the handler
* itself if all <code>preHandle</code> methods have returned <code>true</code>.
* {@code preHandle} method in the given order, finally invoking the handler
* itself if all {@code preHandle} methods have returned {@code true}.
*
* <p>The ability to parameterize this mapping is a powerful and unusual
* capability of this Portlet MVC framework. For example, it is possible to
@@ -62,7 +62,7 @@ public interface HandlerMapping {
* even a tag interface, so that handlers are not constrained in any way.
* For example, a HandlerAdapter could be written to allow another framework's
* handler objects to be used.
* <p>Returns <code>null</code> if no match was found. This is not an error.
* <p>Returns {@code null} if no match was found. This is not an error.
* The DispatcherPortlet will query all registered HandlerMapping beans to find
* a match, and only decide there is an error if none can find a handler.
* @param request current portlet request

View File

@@ -65,7 +65,7 @@ public class ModelAndView {
/**
* Convenient constructor when there is no model data to expose.
* Can also be used in conjunction with <code>addObject</code>.
* Can also be used in conjunction with {@code addObject}.
* @param viewName name of the View to render, to be resolved
* by the DispatcherPortlet's ViewResolver
* @see #addObject
@@ -76,7 +76,7 @@ public class ModelAndView {
/**
* Convenient constructor when there is no model data to expose.
* Can also be used in conjunction with <code>addObject</code>.
* Can also be used in conjunction with {@code addObject}.
* @param view View object to render (usually a Servlet MVC View object)
* @see #addObject
*/
@@ -89,8 +89,8 @@ public class ModelAndView {
* @param viewName name of the View to render, to be resolved
* by the DispatcherPortlet's ViewResolver
* @param model Map of model names (Strings) to model objects
* (Objects). Model entries may not be <code>null</code>, but the
* model Map may be <code>null</code> if there is no model data.
* (Objects). Model entries may not be {@code null}, but the
* model Map may be {@code null} if there is no model data.
*/
public ModelAndView(String viewName, Map<String, ?> model) {
this.view = viewName;
@@ -103,8 +103,8 @@ public class ModelAndView {
* Create a new ModelAndView given a View object and a model.
* @param view View object to render (usually a Servlet MVC View object)
* @param model Map of model names (Strings) to model objects
* (Objects). Model entries may not be <code>null</code>, but the
* model Map may be <code>null</code> if there is no model data.
* (Objects). Model entries may not be {@code null}, but the
* model Map may be {@code null} if there is no model data.
*/
public ModelAndView(Object view, Map<String, ?> model) {
this.view = view;
@@ -148,7 +148,7 @@ public class ModelAndView {
/**
* Return the view name to be resolved by the DispatcherPortlet
* via a ViewResolver, or <code>null</code> if we are using a view object.
* via a ViewResolver, or {@code null} if we are using a view object.
*/
public String getViewName() {
return (this.view instanceof String ? (String) this.view : null);
@@ -166,7 +166,7 @@ public class ModelAndView {
}
/**
* Return the View object, or <code>null</code> if we are using a view name
* Return the View object, or {@code null} if we are using a view name
* to be resolved by the DispatcherPortlet via a ViewResolver.
*/
public Object getView() {
@@ -174,7 +174,7 @@ public class ModelAndView {
}
/**
* Indicate whether or not this <code>ModelAndView</code> has a view, either
* Indicate whether or not this {@code ModelAndView} has a view, either
* as a view name or as a direct view instance.
*/
public boolean hasView() {
@@ -182,7 +182,7 @@ public class ModelAndView {
}
/**
* Return whether we use a view reference, i.e. <code>true</code>
* Return whether we use a view reference, i.e. {@code true}
* if the view has been specified via a name to be resolved by the
* DispatcherPortlet via a ViewResolver.
*/
@@ -191,7 +191,7 @@ public class ModelAndView {
}
/**
* Return the model map. May return <code>null</code>.
* Return the model map. May return {@code null}.
* Called by DispatcherPortlet for evaluation of the model.
*/
protected Map<String, Object> getModelInternal() {
@@ -199,7 +199,7 @@ public class ModelAndView {
}
/**
* Return the underlying <code>ModelMap</code> instance (never <code>null</code>).
* Return the underlying {@code ModelMap} instance (never {@code null}).
*/
public ModelMap getModelMap() {
if (this.model == null) {
@@ -209,7 +209,7 @@ public class ModelAndView {
}
/**
* Return the model map. Never returns <code>null</code>.
* Return the model map. Never returns {@code null}.
* To be called by application code for modifying the model.
*/
public Map<String, Object> getModel() {
@@ -220,7 +220,7 @@ public class ModelAndView {
/**
* Add an attribute to the model.
* @param attributeName name of the object to add to the model
* @param attributeValue object to add to the model (never <code>null</code>)
* @param attributeValue object to add to the model (never {@code null})
* @see ModelMap#addAttribute(String, Object)
* @see #getModelMap()
*/
@@ -231,7 +231,7 @@ public class ModelAndView {
/**
* Add an attribute to the model using parameter name generation.
* @param attributeValue the object to add to the model (never <code>null</code>)
* @param attributeValue the object to add to the model (never {@code null})
* @see ModelMap#addAttribute(Object)
* @see #getModelMap()
*/
@@ -256,7 +256,7 @@ public class ModelAndView {
* Clear the state of this ModelAndView object.
* The object will be empty afterwards.
* <p>Can be used to suppress rendering of a given ModelAndView object
* in the <code>postHandleRender</code> method of a HandlerInterceptor.
* in the {@code postHandleRender} method of a HandlerInterceptor.
* @see #isEmpty()
* @see HandlerInterceptor#postHandleRender
*/
@@ -277,7 +277,7 @@ public class ModelAndView {
/**
* Return whether this ModelAndView object is empty as a result of a call to {@link #clear}
* i.e. whether it does not hold any view and does not contain a model.
* Returns <code>false</code> if any additional state was added to the instance
* Returns {@code false} if any additional state was added to the instance
* <strong>after</strong> the call to {@link #clear}.
* @see #clear()
*/

View File

@@ -34,11 +34,11 @@ import org.springframework.web.portlet.util.PortletUtils;
*
* <p>Used by Spring Portlet MVC's BaseCommandController.
* Note that BaseCommandController and its subclasses allow for easy customization
* of the binder instances that they use through overriding <code>initBinder</code>.
* of the binder instances that they use through overriding {@code initBinder}.
*
* <p>Can also be used for manual data binding in custom web controllers:
* for example, in a plain Portlet Controller implementation. Simply instantiate
* a PortletRequestDataBinder for each binding process, and invoke <code>bind</code>
* a PortletRequestDataBinder for each binding process, and invoke {@code bind}
* with the current PortletRequest as argument:
*
* <pre class="code">
@@ -67,7 +67,7 @@ public class PortletRequestDataBinder extends WebDataBinder {
/**
* Create a new PortletRequestDataBinder instance, with default object name.
* @param target the target object to bind onto (or <code>null</code>
* @param target the target object to bind onto (or {@code null}
* if the binder is just used to convert a plain parameter value)
* @see #DEFAULT_OBJECT_NAME
*/
@@ -77,7 +77,7 @@ public class PortletRequestDataBinder extends WebDataBinder {
/**
* Create a new PortletRequestDataBinder instance.
* @param target the target object to bind onto (or <code>null</code>
* @param target the target object to bind onto (or {@code null}
* if the binder is just used to convert a plain parameter value)
* @param objectName the name of the target object
*/

View File

@@ -46,11 +46,11 @@ public abstract class PortletRequestUtils {
/**
* Get an Integer parameter, or <code>null</code> if not present.
* Get an Integer parameter, or {@code null} if not present.
* Throws an exception if it the parameter value isn't a number.
* @param request current portlet request
* @param name the name of the parameter
* @return the Integer value, or <code>null</code> if not present
* @return the Integer value, or {@code null} if not present
* @throws PortletRequestBindingException a subclass of PortletException,
* so it doesn't need to be caught
*/
@@ -124,11 +124,11 @@ public abstract class PortletRequestUtils {
/**
* Get a Long parameter, or <code>null</code> if not present.
* Get a Long parameter, or {@code null} if not present.
* Throws an exception if it the parameter value isn't a number.
* @param request current portlet request
* @param name the name of the parameter
* @return the Long value, or <code>null</code> if not present
* @return the Long value, or {@code null} if not present
* @throws PortletRequestBindingException a subclass of PortletException,
* so it doesn't need to be caught
*/
@@ -202,11 +202,11 @@ public abstract class PortletRequestUtils {
/**
* Get a Float parameter, or <code>null</code> if not present.
* Get a Float parameter, or {@code null} if not present.
* Throws an exception if it the parameter value isn't a number.
* @param request current portlet request
* @param name the name of the parameter
* @return the Float value, or <code>null</code> if not present
* @return the Float value, or {@code null} if not present
* @throws PortletRequestBindingException a subclass of PortletException,
* so it doesn't need to be caught
*/
@@ -280,11 +280,11 @@ public abstract class PortletRequestUtils {
/**
* Get a Double parameter, or <code>null</code> if not present.
* Get a Double parameter, or {@code null} if not present.
* Throws an exception if it the parameter value isn't a number.
* @param request current portlet request
* @param name the name of the parameter
* @return the Double value, or <code>null</code> if not present
* @return the Double value, or {@code null} if not present
* @throws PortletRequestBindingException a subclass of PortletException,
* so it doesn't need to be caught
*/
@@ -358,13 +358,13 @@ public abstract class PortletRequestUtils {
/**
* Get a Boolean parameter, or <code>null</code> if not present.
* Get a Boolean parameter, or {@code null} if not present.
* Throws an exception if it the parameter value isn't a boolean.
* <p>Accepts "true", "on", "yes" (any case) and "1" as values for true;
* treats every other non-empty value as false (i.e. parses leniently).
* @param request current portlet request
* @param name the name of the parameter
* @return the Boolean value, or <code>null</code> if not present
* @return the Boolean value, or {@code null} if not present
* @throws PortletRequestBindingException a subclass of PortletException,
* so it doesn't need to be caught
*/
@@ -448,11 +448,11 @@ public abstract class PortletRequestUtils {
/**
* Get a String parameter, or <code>null</code> if not present.
* Get a String parameter, or {@code null} if not present.
* Throws an exception if it the parameter value is empty.
* @param request current portlet request
* @param name the name of the parameter
* @return the String value, or <code>null</code> if not present
* @return the String value, or {@code null} if not present
* @throws PortletRequestBindingException a subclass of PortletException,
* so it doesn't need to be caught
*/

View File

@@ -43,7 +43,7 @@ public @interface ActionMapping {
* <p>If not specified, the method will be used as default handler:
* i.e. for action requests where no specific action mapping was found.
* <p>Note that all such annotated action methods only apply within the
* <code>@RequestMapping</code> constraints of the containing handler class.
* {@code @RequestMapping} constraints of the containing handler class.
* @see javax.portlet.ActionRequest#ACTION_NAME
*/
String value() default "";

View File

@@ -113,7 +113,7 @@ public interface ConfigurablePortletApplicationContext
/**
* Return the config locations for this web application context,
* or <code>null</code> if none specified.
* or {@code null} if none specified.
*/
String[] getConfigLocations();

View File

@@ -62,7 +62,7 @@ public abstract class PortletApplicationContextUtils {
* <p>Will rethrow an exception that happened on root context startup,
* to differentiate between a failed context startup and no context at all.
* @param pc PortletContext to find the web application context for
* @return the root WebApplicationContext for this web app, or <code>null</code> if none
* @return the root WebApplicationContext for this web app, or {@code null} if none
* (typed to ApplicationContext to avoid a Servlet API dependency; can usually
* be casted to WebApplicationContext, but there shouldn't be a need to)
* @see org.springframework.web.context.WebApplicationContext#ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE

View File

@@ -38,7 +38,7 @@ import org.springframework.web.portlet.util.PortletUtils;
* relative paths within the portlet application root directory.
*
* <p>Always supports stream access and URL access, but only allows
* <code>java.io.File</code> access when the portlet application archive
* {@code java.io.File} access when the portlet application archive
* is expanded.
*
* @author Juergen Hoeller
@@ -93,7 +93,7 @@ public class PortletContextResource extends AbstractFileResolvingResource implem
/**
* This implementation checks <code>PortletContext.getResource</code>.
* This implementation checks {@code PortletContext.getResource}.
* @see javax.portlet.PortletContext#getResource(String)
*/
@Override
@@ -108,8 +108,8 @@ public class PortletContextResource extends AbstractFileResolvingResource implem
}
/**
* This implementation delegates to <code>PortletContext.getResourceAsStream</code>,
* which returns <code>null</code> in case of a non-readable resource (e.g. a directory).
* This implementation delegates to {@code PortletContext.getResourceAsStream},
* which returns {@code null} in case of a non-readable resource (e.g. a directory).
* @see javax.portlet.PortletContext#getResourceAsStream(String)
*/
@Override
@@ -130,7 +130,7 @@ public class PortletContextResource extends AbstractFileResolvingResource implem
}
/**
* This implementation delegates to <code>PortletContext.getResourceAsStream</code>,
* This implementation delegates to {@code PortletContext.getResourceAsStream},
* but throws a FileNotFoundException if not found.
* @see javax.portlet.PortletContext#getResourceAsStream(String)
*/
@@ -143,7 +143,7 @@ public class PortletContextResource extends AbstractFileResolvingResource implem
}
/**
* This implementation delegates to <code>PortletContext.getResource</code>,
* This implementation delegates to {@code PortletContext.getResource},
* but throws a FileNotFoundException if no resource found.
* @see javax.portlet.PortletContext#getResource(String)
*/
@@ -159,7 +159,7 @@ public class PortletContextResource extends AbstractFileResolvingResource implem
/**
* This implementation resolves "file:" URLs or alternatively delegates to
* <code>PortletContext.getRealPath</code>, throwing a FileNotFoundException
* {@code PortletContext.getRealPath}, throwing a FileNotFoundException
* if not found or not resolvable.
* @see javax.portlet.PortletContext#getResource(String)
* @see javax.portlet.PortletContext#getRealPath(String)

View File

@@ -31,10 +31,10 @@ import org.springframework.util.StringUtils;
/**
* PortletContext-aware subclass of {@link PathMatchingResourcePatternResolver},
* able to find matching resources below the web application root directory
* via Portlet API's <code>PortletContext.getResourcePaths</code>.
* via Portlet API's {@code PortletContext.getResourcePaths}.
* Falls back to the superclass' file system checking for other resources.
*
* <p>The advantage of using <code>PortletContext.getResourcePaths</code> to
* <p>The advantage of using {@code PortletContext.getResourcePaths} to
* find matching files is that it will work in a WAR file which has not been
* expanded too.
*
@@ -65,11 +65,11 @@ public class PortletContextResourcePatternResolver extends PathMatchingResourceP
/**
* Overridden version which checks for PortletContextResource
* and uses <code>PortletContext.getResourcePaths</code> to find
* and uses {@code PortletContext.getResourcePaths} to find
* matching resources below the web application root directory.
* In case of other resources, delegates to the superclass version.
* @see #doRetrieveMatchingPortletContextResources
* @see org.springframework.web.portlet.context.PortletContextResource
* @see PortletContextResource
* @see javax.portlet.PortletContext#getResourcePaths
*/
@Override

View File

@@ -35,7 +35,7 @@ import org.springframework.util.Assert;
*
* <p>The associated destruction mechanism relies on a
* {@link org.springframework.web.context.ContextCleanupListener} being registered in
* <code>web.xml</code>. Note that {@link org.springframework.web.context.ContextLoaderListener}
* {@code web.xml}. Note that {@link org.springframework.web.context.ContextLoaderListener}
* includes ContextCleanupListener's functionality.
*
* <p>This scope is registered as default scope with key

View File

@@ -242,7 +242,7 @@ public class PortletRequestAttributes extends AbstractRequestAttributes {
/**
* Update all accessed session attributes through <code>session.setAttribute</code>
* Update all accessed session attributes through {@code session.setAttribute}
* calls, explicitly indicating to the container that they might have been modified.
*/
@Override

View File

@@ -142,7 +142,7 @@ public class PortletWebRequest extends PortletRequestAttributes implements Nativ
/**
* Last-modified handling not supported for portlet requests:
* As a consequence, this method always returns <code>false</code>.
* As a consequence, this method always returns {@code false}.
*/
public boolean checkNotModified(long lastModifiedTimestamp) {
return false;
@@ -150,7 +150,7 @@ public class PortletWebRequest extends PortletRequestAttributes implements Nativ
/**
* Last-modified handling not supported for portlet requests:
* As a consequence, this method always returns <code>false</code>.
* As a consequence, this method always returns {@code false}.
*/
public boolean checkNotModified(String eTag) {
return false;

View File

@@ -148,7 +148,7 @@ public abstract class AbstractHandlerExceptionResolver implements HandlerExcepti
* and handler classes, if any, and alspo checks the window state (according
* to the "renderWhenMinimize" property).
* @param request current portlet request
* @param handler the executed handler, or <code>null</code> if none chosen at the
* @param handler the executed handler, or {@code null} if none chosen at the
* time of the exception (for example, if multipart resolution failed)
* @return whether this resolved should proceed with resolving the exception
* for the given request and handler

View File

@@ -56,7 +56,7 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
/**
* Specify the order value for this HandlerMapping bean.
* <p>Default value is <code>Integer.MAX_VALUE</code>, meaning that it's non-ordered.
* <p>Default value is {@code Integer.MAX_VALUE}, meaning that it's non-ordered.
* @see org.springframework.core.Ordered#getOrder()
*/
public final void setOrder(int order) {
@@ -70,7 +70,7 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
/**
* Set the default handler for this handler mapping.
* This handler will be returned if no specific mapping was found.
* <p>Default is <code>null</code>, indicating no default handler.
* <p>Default is {@code null}, indicating no default handler.
*/
public void setDefaultHandler(Object defaultHandler) {
this.defaultHandler = defaultHandler;
@@ -78,7 +78,7 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
/**
* Return the default handler for this handler mapping,
* or <code>null</code> if none.
* or {@code null} if none.
*/
public Object getDefaultHandler() {
return this.defaultHandler;
@@ -88,7 +88,7 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
* Set the interceptors to apply for all handlers mapped by this handler mapping.
* <p>Supported interceptor types are HandlerInterceptor and WebRequestInterceptor.
* Each given WebRequestInterceptor will be wrapped in a WebRequestHandlerInterceptorAdapter.
* @param interceptors array of handler interceptors, or <code>null</code> if none
* @param interceptors array of handler interceptors, or {@code null} if none
* @see #adaptInterceptor
* @see org.springframework.web.portlet.HandlerInterceptor
* @see org.springframework.web.context.request.WebRequestInterceptor
@@ -135,7 +135,7 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
* <p>Will be invoked before {@link #initInterceptors()} adapts the specified
* interceptors into {@link HandlerInterceptor} instances.
* <p>The default implementation is empty.
* @param interceptors the configured interceptor List (never <code>null</code>),
* @param interceptors the configured interceptor List (never {@code null}),
* allowing to add further interceptors before as well as after the existing
* interceptors
*/
@@ -187,7 +187,7 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
/**
* Return the adapted interceptors as HandlerInterceptor array.
* @return the array of HandlerInterceptors, or <code>null</code> if none
* @return the array of HandlerInterceptors, or {@code null} if none
*/
protected final HandlerInterceptor[] getAdaptedInterceptors() {
return this.adaptedInterceptors;
@@ -218,14 +218,14 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
}
/**
* Look up a handler for the given request, returning <code>null</code> if no
* Look up a handler for the given request, returning {@code null} if no
* specific one is found. This method is called by {@link #getHandler};
* a <code>null</code> return value will lead to the default handler, if one is set.
* a {@code null} return value will lead to the default handler, if one is set.
* <p>Note: This method may also return a pre-built {@link HandlerExecutionChain},
* combining a handler object with dynamically determined interceptors.
* Statically specified interceptors will get merged into such an existing chain.
* @param request current portlet request
* @return the corresponding handler instance, or <code>null</code> if none found
* @return the corresponding handler instance, or {@code null} if none found
* @throws Exception if there is an internal error
* @see #getHandler
*/
@@ -239,11 +239,11 @@ public abstract class AbstractHandlerMapping extends ApplicationObjectSupport im
* <p><b>NOTE:</b> The passed-in handler object may be a raw handler or a pre-built
* HandlerExecutionChain. This method should handle those two cases explicitly,
* either building a new HandlerExecutionChain or extending the existing chain.
* <p>For simply adding an interceptor, consider calling <code>super.getHandlerExecutionChain</code>
* <p>For simply adding an interceptor, consider calling {@code super.getHandlerExecutionChain}
* and invoking {@link HandlerExecutionChain#addInterceptor} on the returned chain object.
* @param handler the resolved handler instance (never <code>null</code>)
* @param handler the resolved handler instance (never {@code null})
* @param request current portlet request
* @return the HandlerExecutionChain (never <code>null</code>)
* @return the HandlerExecutionChain (never {@code null})
* @see #getAdaptedInterceptors()
*/
protected HandlerExecutionChain getHandlerExecutionChain(Object handler, PortletRequest request) {

View File

@@ -96,7 +96,7 @@ public abstract class AbstractMapBasedHandlerMapping<K> extends AbstractHandlerM
/**
* Build a lookup key for the given request.
* @param request current portlet request
* @return the lookup key (never <code>null</code>)
* @return the lookup key (never {@code null})
* @throws Exception if key computation failed
*/
protected abstract K getLookupKey(PortletRequest request) throws Exception;
@@ -131,7 +131,7 @@ public abstract class AbstractMapBasedHandlerMapping<K> extends AbstractHandlerM
* @param lookupKey the key to map the handler onto
* @param handler the handler instance or handler bean name String
* (a bean name will automatically be resolved into the corresponding handler bean)
* @param predicate a predicate object for this handler (may be <code>null</code>),
* @param predicate a predicate object for this handler (may be {@code null}),
* determining a match with the primary lookup key
* @throws BeansException if the handler couldn't be registered
* @throws IllegalStateException if there is a conflicting handler registered

View File

@@ -138,7 +138,7 @@ public abstract class HandlerInterceptorAdapter implements HandlerInterceptor {
/**
* Default callback that all "pre*" methods delegate to.
* <p>This implementation always returns <code>true</code>.
* <p>This implementation always returns {@code true}.
*/
protected boolean preHandle(PortletRequest request, PortletResponse response, Object handler)
throws Exception {

View File

@@ -82,7 +82,7 @@ public class ParameterHandlerMapping extends AbstractMapBasedHandlerMapping<Stri
/**
* Calls the <code>registerHandlers</code> method in addition
* Calls the {@code registerHandlers} method in addition
* to the superclass's initialization.
* @see #registerHandlers
*/

View File

@@ -20,20 +20,20 @@ import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
/**
* Interceptor to forward a request parameter from the <code>ActionRequest</code> to the
* <code>RenderRequest</code>.
* Interceptor to forward a request parameter from the {@code ActionRequest} to the
* {@code RenderRequest}.
*
* <p>This can be useful when using {@link ParameterHandlerMapping ParameterHandlerMapping}
* or {@link PortletModeParameterHandlerMapping PortletModeParameterHandlerMapping}.
* It will ensure that the parameter that was used to map the <code>ActionRequest</code>
* to a handler will be forwarded to the <code>RenderRequest</code> so that it will also be
* It will ensure that the parameter that was used to map the {@code ActionRequest}
* to a handler will be forwarded to the {@code RenderRequest} so that it will also be
* mapped the same way.
*
* <p>When using this Interceptor, you can still change the value of the mapping parameter
* in your handler in order to change where the render request will get mapped.
*
* <p>Be aware that this Interceptor does call <code>ActionResponse.setRenderParameter</code>,
* which means that you will not be able to call <code>ActionResponse.sendRedirect</code> in
* <p>Be aware that this Interceptor does call {@code ActionResponse.setRenderParameter},
* which means that you will not be able to call {@code ActionResponse.sendRedirect} in
* your handler. If you may need to issue a redirect, then you should avoid this Interceptor
* and either write a different one that does this in a different way, or manually forward
* the parameter from within your handler(s).

View File

@@ -71,7 +71,7 @@ public class PortletModeHandlerMapping extends AbstractMapBasedHandlerMapping<Po
/**
* Calls the <code>registerHandlers</code> method in addition
* Calls the {@code registerHandlers} method in addition
* to the superclass's initialization.
* @see #registerHandlers
*/

View File

@@ -129,7 +129,7 @@ public class PortletModeParameterHandlerMapping extends AbstractMapBasedHandlerM
/**
* Calls the <code>registerHandlers</code> method in addition
* Calls the {@code registerHandlers} method in addition
* to the superclass's initialization.
* @see #registerHandlers
*/

View File

@@ -54,7 +54,7 @@ public class SimpleMappingExceptionResolver extends AbstractHandlerExceptionReso
* Set the mappings between exception class names and error view names.
* The exception class name can be a substring, with no wildcard support
* at present. A value of "PortletException" would match
* <code>javax.portet.PortletException</code> and subclasses, for example.
* {@code javax.portet.PortletException} and subclasses, for example.
* <p><b>NB:</b> Consider carefully how specific the pattern is, and whether
* to include package information (which isn't mandatory). For example,
* "Exception" will match nearly anything, and will probably hide other rules.
@@ -126,7 +126,7 @@ public class SimpleMappingExceptionResolver extends AbstractHandlerExceptionReso
* {@link #setDefaultErrorView "defaultErrorView"} as fallback.
* @param ex the exception that got thrown during handler execution
* @param request current portlet request (useful for obtaining metadata)
* @return the resolved view name, or <code>null</code> if none found
* @return the resolved view name, or {@code null} if none found
*/
protected String determineViewName(Exception ex, PortletRequest request) {
String viewName = null;
@@ -149,7 +149,7 @@ public class SimpleMappingExceptionResolver extends AbstractHandlerExceptionReso
* Find a matching view name in the given exception mappings
* @param exceptionMappings mappings between exception class names and error view names
* @param ex the exception that got thrown during handler execution
* @return the view name, or <code>null</code> if none found
* @return the view name, or {@code null} if none found
* @see #setExceptionMappings
*/
protected String findMatchingViewName(Properties exceptionMappings, Exception ex) {
@@ -198,7 +198,7 @@ public class SimpleMappingExceptionResolver extends AbstractHandlerExceptionReso
/**
* Return a ModelAndView for the given request, view name and exception.
* Default implementation delegates to <code>getModelAndView(viewName, ex)</code>.
* Default implementation delegates to {@code getModelAndView(viewName, ex)}.
* @param viewName the name of the error view
* @param ex the exception that got thrown during handler execution
* @param request current portlet request (useful for obtaining metadata)

View File

@@ -36,7 +36,7 @@ import org.springframework.web.portlet.util.PortletUtils;
/**
* Adapter to use the Portlet interface with the generic DispatcherPortlet.
* Calls the Portlet's <code>render</code> and <code>processAction</code>
* Calls the Portlet's {@code render} and {@code processAction}
* methods to handle a request.
*
* <p>This adapter is not activated by default; it needs to be defined as a

View File

@@ -39,11 +39,11 @@ import org.springframework.web.portlet.context.PortletContextAware;
* Bean post-processor that applies initialization and destruction callbacks
* to beans that implement the Portlet interface.
*
* <p>After initialization of the bean instance, the Portlet <code>init</code>
* <p>After initialization of the bean instance, the Portlet {@code init}
* method will be called with a PortletConfig that contains the bean name
* of the Portlet and the PortletContext that it is running in.
*
* <p>Before destruction of the bean instance, the Portlet <code>destroy</code>
* <p>Before destruction of the bean instance, the Portlet {@code destroy}
* will be called.
*
* <p><b>Note that this post-processor does not support Portlet initialization
@@ -82,7 +82,7 @@ public class SimplePortletPostProcessor
/**
* Set whether to use the shared PortletConfig object passed in
* through <code>setPortletConfig</code>, if available.
* through {@code setPortletConfig}, if available.
* <p>Default is "true". Turn this setting to "false" to pass in
* a mock PortletConfig object with the bean name as portlet name,
* holding the current PortletContext.

View File

@@ -38,7 +38,7 @@ import org.springframework.web.portlet.context.PortletWebRequest;
* <p><b>NOTE:</b> The WebRequestInterceptor is by default only applied to the Portlet
* <b>render</b> phase, which is dealing with preparing and rendering a Portlet view.
* The Portlet action phase will only be intercepted with WebRequestInterceptor calls
* if the <code>renderPhaseOnly</code> flag is explicitly set to <code>false</code>.
* if the {@code renderPhaseOnly} flag is explicitly set to {@code false}.
* In general, it is recommended to use the Portlet-specific HandlerInterceptor
* mechanism for differentiating between action and render interception.
*
@@ -66,8 +66,8 @@ public class WebRequestHandlerInterceptorAdapter implements HandlerInterceptor {
/**
* Create a new WebRequestHandlerInterceptorAdapter for the given WebRequestInterceptor.
* @param requestInterceptor the WebRequestInterceptor to wrap
* @param renderPhaseOnly whether to apply to the render phase only (<code>true</code>)
* or to the action phase as well (<code>false</code>)
* @param renderPhaseOnly whether to apply to the render phase only ({@code true})
* or to the action phase as well ({@code false})
*/
public WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor, boolean renderPhaseOnly) {
Assert.notNull(requestInterceptor, "WebRequestInterceptor must not be null");

View File

@@ -97,7 +97,7 @@ public class CommonsPortletMultipartResolver extends CommonsFileUploadSupport
}
/**
* Initialize the underlying <code>org.apache.commons.fileupload.portlet.PortletFileUpload</code>
* Initialize the underlying {@code org.apache.commons.fileupload.portlet.PortletFileUpload}
* instance. Can be overridden to use a custom subclass, e.g. for testing purposes.
* @return the new PortletFileUpload instance
*/
@@ -165,7 +165,7 @@ public class CommonsPortletMultipartResolver extends CommonsFileUploadSupport
* <p>The default implementation checks the request encoding,
* falling back to the default encoding specified for this resolver.
* @param request current portlet request
* @return the encoding for the request (never <code>null</code>)
* @return the encoding for the request (never {@code null})
* @see javax.portlet.ActionRequest#getCharacterEncoding
* @see #setDefaultEncoding
*/

View File

@@ -38,16 +38,16 @@ import org.springframework.web.multipart.MultipartException;
* as an application might choose to parse its multipart requests itself. To
* define an implementation, create a bean with the id
* {@link org.springframework.web.portlet.DispatcherPortlet#MULTIPART_RESOLVER_BEAN_NAME "portletMultipartResolver"}
* in a <code>DispatcherPortlet's</code> application context. Such a resolver
* gets applied to all requests handled by that <code>DispatcherPortlet</code>.
* in a {@code DispatcherPortlet's} application context. Such a resolver
* gets applied to all requests handled by that {@code DispatcherPortlet}.
*
* <p>If a <code>DispatcherPortlet</code> detects a multipart request, it will
* <p>If a {@code DispatcherPortlet} detects a multipart request, it will
* resolve it via the configured
* {@link org.springframework.web.multipart.MultipartResolver} and pass on a
* wrapped Portlet {@link ActionRequest}.
* {@link org.springframework.web.portlet.mvc.Controller Controllers} can then
* cast their given request to the {@link MultipartActionRequest} interface,
* being able to access <code>MultipartFiles</code>. Note that this cast is
* being able to access {@code MultipartFiles}. Note that this cast is
* only supported in case of an actual multipart request.
*
* <pre class="code"> public void handleActionRequest(ActionRequest request, ActionResponse response) {
@@ -63,8 +63,8 @@ import org.springframework.web.multipart.MultipartException;
* bean properties.
*
* <p>Note: There is hardly ever a need to access the
* <code>MultipartResolver</code> itself from application code. It will simply
* do its work behind the scenes, making <code>MultipartActionRequests</code>
* {@code MultipartResolver} itself from application code. It will simply
* do its work behind the scenes, making {@code MultipartActionRequests}
* available to controllers.
*
* @author Juergen Hoeller
@@ -81,7 +81,7 @@ public interface PortletMultipartResolver {
/**
* Determine if the given request contains multipart content.
* <p>Will typically check for content type
* "<code>multipart/form-data</code>", but the actually accepted requests
* "{@code multipart/form-data}", but the actually accepted requests
* might depend on the capabilities of the resolver implementation.
* @param request the portlet request to be evaluated
* @return whether the request contains multipart content

View File

@@ -134,7 +134,7 @@ public abstract class AbstractCommandController extends BaseCommandController {
/**
* Template method for request handling, providing a populated and validated instance
* of the command class, and an Errors object containing binding and validation errors.
* <p>Call <code>errors.getModel()</code> to populate the ModelAndView model
* <p>Call {@code errors.getModel()} to populate the ModelAndView model
* with the command and the Errors instance, under the specified command name,
* as expected by the "spring:bind" tag.
* @param request current action request
@@ -151,7 +151,7 @@ public abstract class AbstractCommandController extends BaseCommandController {
/**
* Template method for render request handling, providing a populated and validated instance
* of the command class, and an Errors object containing binding and validation errors.
* <p>Call <code>errors.getModel()</code> to populate the ModelAndView model
* <p>Call {@code errors.getModel()} to populate the ModelAndView model
* with the command and the Errors instance, under the specified command name,
* as expected by the "spring:bind" tag.
* @param request current render request

View File

@@ -82,8 +82,8 @@ import org.springframework.web.portlet.util.PortletUtils;
* <tr>
* <td>synchronizeOnSession</td>
* <td>false</td>
* <td>whether the calls to <code>handleRenderRequestInternal</code> and
* <code>handleRenderRequestInternal</code> should be
* <td>whether the calls to {@code handleRenderRequestInternal} and
* {@code handleRenderRequestInternal} should be
* synchronized around the PortletSession, to serialize invocations
* from the same client. No effect if there is no PortletSession.
* </td>
@@ -112,10 +112,10 @@ import org.springframework.web.portlet.util.PortletUtils;
* criteria your mapping is using, such as portlet mode or a request parameter, during the
* action phase of your controller. This is very handy since redirects within the portlet
* are apparently impossible. Before doing this, it is usually wise to call
* <code>clearAllRenderParameters</code> and then explicitly set all the parameters that
* {@code clearAllRenderParameters} and then explicitly set all the parameters that
* you want the new controller to see. This avoids unexpected parameters from being passed
* to the render phase of the second controller, such as the parameter indicating a form
* submit ocurred in an <code>AbstractFormController</code>.
* submit ocurred in an {@code AbstractFormController}.
*
* <p>Thanks to Rainer Schmitz and Nick Lothian for their suggestions!
*
@@ -135,13 +135,13 @@ public abstract class AbstractController extends PortletContentGenerator impleme
/**
* Set if controller execution should be synchronized on the session,
* to serialize parallel invocations from the same client.
* <p>More specifically, the execution of the <code>handleActionRequestInternal</code>
* <p>More specifically, the execution of the {@code handleActionRequestInternal}
* method will get synchronized if this flag is "true". The best available
* session mutex will be used for the synchronization; ideally, this will
* be a mutex exposed by HttpSessionMutexListener.
* <p>The session mutex is guaranteed to be the same object during
* the entire lifetime of the session, available under the key defined
* by the <code>SESSION_MUTEX_ATTRIBUTE</code> constant. It serves as a
* by the {@code SESSION_MUTEX_ATTRIBUTE} constant. It serves as a
* safe reference to synchronize on for locking on the current session.
* <p>In many cases, the PortletSession reference itself is a safe mutex
* as well, since it will always be the same object reference for the
@@ -226,7 +226,7 @@ public abstract class AbstractController extends PortletContentGenerator impleme
/**
* Subclasses are meant to override this method if the controller
* is expected to handle action requests. The contract is the same as
* for <code>handleActionRequest</code>.
* for {@code handleActionRequest}.
* <p>The default implementation throws a PortletException.
* @see #handleActionRequest
* @see #handleRenderRequestInternal
@@ -240,7 +240,7 @@ public abstract class AbstractController extends PortletContentGenerator impleme
/**
* Subclasses are meant to override this method if the controller
* is expected to handle render requests. The contract is the same as
* for <code>handleRenderRequest</code>.
* for {@code handleRenderRequest}.
* <p>The default implementation throws a PortletException.
* @see #handleRenderRequest
* @see #handleActionRequestInternal

View File

@@ -36,8 +36,8 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
/**
* <p>Form controller that auto-populates a form bean from the request.
* This, either using a new bean instance per request, or using the same bean
* when the <code>sessionForm</code> property has been set to
* <code>true</code>.</p>
* when the {@code sessionForm} property has been set to
* {@code true}.</p>
*
* <p>This class is the base class for both framework subclasses such as
* {@link SimpleFormController} and {@link AbstractWizardFormController}
@@ -47,21 +47,21 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* programmatically. To provide those views using configuration properties,
* use the {@link SimpleFormController}.</p>
*
* <p>Subclasses need to override <code>showForm</code> to prepare the form view,
* <code>processFormSubmission</code> to handle submit requests, and
* <code>renderFormSubmission</code> to display the results of the submit.
* <p>Subclasses need to override {@code showForm} to prepare the form view,
* {@code processFormSubmission} to handle submit requests, and
* {@code renderFormSubmission} to display the results of the submit.
* For the latter two methods, binding errors like type mismatches will be
* reported via the given "errors" holder. For additional custom form validation,
* a validator (property inherited from BaseCommandController) can be used,
* reporting via the same "errors" instance.</p>
*
* <p>Comparing this Controller to the Struts notion of the <code>Action</code>
* <p>Comparing this Controller to the Struts notion of the {@code Action}
* shows us that with Spring, you can use any ordinary JavaBeans or database-
* backed JavaBeans without having to implement a framework-specific class
* (like Struts' <code>ActionForm</code>). More complex properties of JavaBeans
* (like Struts' {@code ActionForm}). More complex properties of JavaBeans
* (Dates, Locales, but also your own application-specific or compound types)
* can be represented and submitted to the controller, by using the notion of
* a <code>java.beans.PropertyEditors</code>. For more information on that
* a {@code java.beans.PropertyEditors}. For more information on that
* subject, see the workflow of this controller and the explanation of the
* {@link BaseCommandController BaseCommandController}.</p>
*
@@ -93,11 +93,11 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* <li>The {@link PortletRequestDataBinder PortletRequestDataBinder}
* gets applied to populate the new form object with initial request parameters and the
* {@link #onBindOnNewForm(RenderRequest, Object, BindException)} callback method is invoked.
* (<i>only if <code>bindOnNewForm</code> is set to <code>true</code></i>)
* (<i>only if {@code bindOnNewForm} is set to {@code true}</i>)
* Make sure that the initial parameters do not include the parameter that indicates a
* form submission has occurred.</li>
* <li>Call to {@link #showForm(RenderRequest, RenderResponse,
* BindException) showForm} to return a View that should be rendered
* BindException) showForm} to return a View that should be rendered
* (typically the view that renders the form). This method has to be
* implemented in subclasses. </li>
* <li>The showForm() implementation will call {@link #referenceData referenceData},
@@ -110,7 +110,7 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* Request).</b> To use a different way of detecting a form submission,
* override the {@link #isFormSubmission isFormSubmission} method.
* The action phase will proceed to process the form submission as follows.</li>
* <li>If <code>sessionForm</code> is not set, {@link #formBackingObject
* <li>If {@code sessionForm} is not set, {@link #formBackingObject
* formBackingObject} is called to retrieve a form object. Otherwise,
* the controller tries to find the command object which is already bound
* in the session. If it cannot find the object, the action phase does a
@@ -125,7 +125,7 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* which allows you to do custom processing after binding but before
* validation (e.g. to manually bind request parameters to bean
* properties, to be seen by the Validator).</li>
* <li>If <code>validateOnBinding</code> is set, a registered Validator
* <li>If {@code validateOnBinding} is set, a registered Validator
* will be invoked. The Validator will check the form object properties,
* and register corresponding errors via the given {@link Errors Errors}
* object.</li>
@@ -145,8 +145,8 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* <li>If the action phase indicated this is an invalid submit, the render
* phase calls {@link #renderInvalidSubmit renderInvalidSubmit} which &ndash;
* also by default &ndash; will render the results of the resubmitted
* form. Be sure to override both <code>handleInvalidSubmit</code> and
* <code>renderInvalidSubmit</code> if you want to change this overall
* form. Be sure to override both {@code handleInvalidSubmit} and
* {@code renderInvalidSubmit} if you want to change this overall
* behavior.</li>
* <li>Finally, call {@link #renderFormSubmission renderFormSubmission} to
* render the results of the submission, with or without binding errors.
@@ -202,15 +202,15 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* <tr>
* <td>redirectAction</td>
* <td>false</td>
* <td>Specifies whether <code>processFormSubmission</code> is expected to call
* <td>Specifies whether {@code processFormSubmission} is expected to call
* {@link ActionResponse#sendRedirect ActionResponse.sendRedirect}.
* This is important because some methods may not be called before
* {@link ActionResponse#sendRedirect ActionResponse.sendRedirect} (e.g.
* {@link ActionResponse#setRenderParameter ActionResponse.setRenderParameter}).
* Setting this flag will prevent AbstractFormController from setting render
* parameters that it normally needs for the render phase.
* If this is set true and <code>sendRedirect</code> is not called, then
* <code>processFormSubmission</code> must call
* If this is set true and {@code sendRedirect} is not called, then
* {@code processFormSubmission} must call
* {@link #setFormSubmit setFormSubmit}.
* Otherwise, the render phase will not realize the form was submitted
* and will simply display a new blank form.</td>
@@ -221,11 +221,11 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* <td>An array of parameters that will be passed forward from the action
* phase to the render phase if the form needs to be displayed
* again. These can also be passed forward explicitly by calling
* the <code>passRenderParameters</code> method from any action
* the {@code passRenderParameters} method from any action
* phase method. Abstract descendants of this controller should follow
* similar behavior. If there are parameters you need in
* <code>renderFormSubmission</code>, then you need to pass those
* forward from <code>processFormSubmission</code>. If you override the
* {@code renderFormSubmission}, then you need to pass those
* forward from {@code processFormSubmission}. If you override the
* default behavior of invalid submits and you set sessionForm to true,
* then you probably will not need to set this because your parameters
* are only going to be needed on the first request.</td>
@@ -273,7 +273,7 @@ public abstract class AbstractFormController extends BaseCommandController {
* <p>Subclasses should set the following properties, either in the constructor
* or via a BeanFactory: commandName, commandClass, bindOnNewForm, sessionForm.
* Note that commandClass doesn't need to be set when overriding
* <code>formBackingObject</code>, as the latter determines the class anyway.
* {@code formBackingObject}, as the latter determines the class anyway.
* <p>"cacheSeconds" is by default set to 0 (-> no caching for all form controllers).
* @see #setCommandName
* @see #setCommandClass
@@ -366,7 +366,7 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Handles action phase of two cases: form submissions and showing a new form.
* Delegates the decision between the two to <code>isFormSubmission</code>,
* Delegates the decision between the two to {@code isFormSubmission},
* always treating requests without existing form session attribute
* as new form when using session form mode.
* @see #isFormSubmission
@@ -415,7 +415,7 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Handles render phase of two cases: form submissions and showing a new form.
* Delegates the decision between the two to <code>isFormSubmission</code>,
* Delegates the decision between the two to {@code isFormSubmission},
* always treating requests without existing form session attribute
* as new form when using session form mode.
* @see #isFormSubmission
@@ -532,10 +532,10 @@ public abstract class AbstractFormController extends BaseCommandController {
* Return the name of the PortletSession attribute that holds the form object
* for this form controller.
* <p>The default implementation delegates to the
* <code>getFormSessionAttributeName</code> version without arguments.
* {@code getFormSessionAttributeName} version without arguments.
* @param request current HTTP request
* @return the name of the form session attribute,
* or <code>null</code> if not in session form mode
* or {@code null} if not in session form mode
* @see #getFormSessionAttributeName()
* @see javax.portlet.PortletSession#getAttribute
*/
@@ -607,11 +607,11 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Create a BindException instance for a new form.
* Called by <code>showNewForm</code>.
* Called by {@code showNewForm}.
* <p>Can be used directly when intending to show a new form but with
* special errors registered on it (for example, on invalid submit).
* Usually, the resulting BindException will be passed to
* <code>showForm</code>, after registering the errors on it.
* {@code showForm}, after registering the errors on it.
* @param request current render request
* @return the BindException instance
* @throws Exception in case of an invalid new form object
@@ -645,8 +645,8 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Callback for custom post-processing in terms of binding for a new form.
* Called when preparing a new form if <code>bindOnNewForm</code> is <code>true</code>.
* <p>Default implementation delegates to <code>onBindOnNewForm(request, command)</code>.
* Called when preparing a new form if {@code bindOnNewForm} is {@code true}.
* <p>Default implementation delegates to {@code onBindOnNewForm(request, command)}.
* @param request current render request
* @param command the command object to perform further binding on
* @param errors validation errors holder, allowing for additional
@@ -663,9 +663,9 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Callback for custom post-processing in terms of binding for a new form.
* Called by the default implementation of the <code>onBindOnNewForm</code> version
* Called by the default implementation of the {@code onBindOnNewForm} version
* with all parameters, after standard binding when displaying the form view.
* Only called if <code>bindOnNewForm</code> is set to <code>true</code>.
* Only called if {@code bindOnNewForm} is set to {@code true}.
* <p>The default implementation is empty.
* @param request current render request
* @param command the command object to perform further binding on
@@ -679,7 +679,7 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Return the form object for the given request.
* <p>Calls <code>formBackingObject</code> if the object is not in the session
* <p>Calls {@code formBackingObject} if the object is not in the session
* @param request current request
* @return object form to bind onto
* @see #formBackingObject
@@ -728,7 +728,7 @@ public abstract class AbstractFormController extends BaseCommandController {
* object across the entire form workflow. Else, a new instance of the command
* class will be created for each submission attempt, just using this backing
* object as template for the initial form.
* <p>The default implementation calls <code>BaseCommandController.createCommand</code>,
* <p>The default implementation calls {@code BaseCommandController.createCommand},
* creating a new empty instance of the command class.
* Subclasses can override this to provide a preinitialized backing object.
* @param request current portlet request
@@ -747,13 +747,13 @@ public abstract class AbstractFormController extends BaseCommandController {
* Prepare the form model and view, including reference and error data.
* Can show a configured form page, or generate a form view programmatically.
* <p>A typical implementation will call
* <code>showForm(request, errors, "myView")</code>
* {@code showForm(request, errors, "myView")}
* to prepare the form view for a specific view name, returning the
* ModelAndView provided there.
* <p>For building a custom ModelAndView, call <code>errors.getModel()</code>
* <p>For building a custom ModelAndView, call {@code errors.getModel()}
* to populate the ModelAndView model with the command and the Errors instance,
* under the specified command name, as expected by the "spring:bind" tag.
* You also need to include the model returned by <code>referenceData</code>.
* You also need to include the model returned by {@code referenceData}.
* <p>Note: If you decide to have a "formView" property specifying the
* view name, consider using SimpleFormController.
* @param request current render request
@@ -840,7 +840,7 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Create a reference data map for the given request, consisting of
* bean name/bean instance pairs as expected by ModelAndView.
* <p>The default implementation returns <code>null</code>.
* <p>The default implementation returns {@code null}.
* Subclasses can override this to set reference data used in the view.
* @param request current render request
* @param command form object with request parameters bound onto it
@@ -855,14 +855,14 @@ public abstract class AbstractFormController extends BaseCommandController {
/**
* Process render phase of form submission request. Called by <code>handleRequestInternal</code>
* Process render phase of form submission request. Called by {@code handleRequestInternal}
* in case of a form submission, with or without binding errors. Implementations
* need to proceed properly, typically showing a form view in case of binding
* errors or rendering the result of a submit action else.
* <p>For a success view, call <code>errors.getModel()</code> to populate the
* <p>For a success view, call {@code errors.getModel()} to populate the
* ModelAndView model with the command and the Errors instance, under the
* specified command name, as expected by the "spring:bind" tag. For a form view,
* simply return the ModelAndView object privded by <code>showForm</code>.
* simply return the ModelAndView object privded by {@code showForm}.
* @param request current render request
* @param response current render response
* @param command form object with request parameters bound onto it
@@ -880,7 +880,7 @@ public abstract class AbstractFormController extends BaseCommandController {
throws Exception;
/**
* Process action phase of form submission request. Called by <code>handleRequestInternal</code>
* Process action phase of form submission request. Called by {@code handleRequestInternal}
* in case of a form submission, with or without binding errors. Implementations
* need to proceed properly, typically performing a submit action if there are no binding errors.
* <p>Subclasses can implement this to provide custom submission handling
@@ -906,7 +906,7 @@ public abstract class AbstractFormController extends BaseCommandController {
* This should also work if the user hit the back button, changed some form data,
* and resubmitted the form.
* <p>Note: To avoid duplicate submissions, you need to override this method.
* Either show some "invalid submit" message, or call <code>showNewForm</code> for
* Either show some "invalid submit" message, or call {@code showNewForm} for
* resetting the form (prepopulating it with the current values if "bindOnNewForm"
* is true). In this case, the form object in the session serves as transaction token.
* <pre class="code">

View File

@@ -61,18 +61,18 @@ import org.springframework.web.portlet.util.PortletUtils;
* validated again to guarantee a consistent state.
*
* <p>Note that a validator's default validate method is not executed when using
* this class! Rather, the <code>validatePage</code> implementation should call
* special <code>validateXXX</code> methods that the validator needs to provide,
* this class! Rather, the {@code validatePage} implementation should call
* special {@code validateXXX} methods that the validator needs to provide,
* validating certain pieces of the object. These can be combined to validate
* the elements of individual pages.
*
* <p>Note: Page numbering starts with 0, to be able to pass an array
* consisting of the corresponding view names to the "pages" bean property.
*
* <p>Parameters indicated with <code>setPassRenderParameters</code> will be present
* for each page. If there are render parameters you need in <code>renderFinish</code>
* or <code>renderCancel</code>, then you need to pass those forward from the
* <code>processFinish</code> or <code>processCancel</code> methods, respectively.
* <p>Parameters indicated with {@code setPassRenderParameters} will be present
* for each page. If there are render parameters you need in {@code renderFinish}
* or {@code renderCancel}, then you need to pass those forward from the
* {@code processFinish} or {@code processCancel} methods, respectively.
* @author Juergen Hoeller
* @author John A. Lewis
@@ -155,7 +155,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* Return the wizard pages, i.e. the view names for the pages.
* The array index corresponds to the page number.
* <p>Note that a concrete wizard form controller might override
* <code>getViewName(PortletRequest, Object, int)</code> to
* {@code getViewName(PortletRequest, Object, int)} to
* determine the view name for each page dynamically.
* @see #getViewName(PortletRequest, Object, int)
*/
@@ -167,7 +167,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* Return the number of wizard pages.
* Useful to check whether the last page has been reached.
* <p>Note that a concrete wizard form controller might override
* <code>getPageCount(PortletRequest, Object)</code> to determine
* {@code getPageCount(PortletRequest, Object)} to determine
* the page count dynamically.
* @see #getPageCount(PortletRequest, Object)
*/
@@ -300,7 +300,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Create a reference data map for the given request, consisting of
* bean name/bean instance pairs as expected by ModelAndView.
* <p>The default implementation returns <code>null</code>.
* <p>The default implementation returns {@code null}.
* Subclasses can override this to set reference data used in the view.
* @param request current portlet request
* @param page current wizard page
@@ -327,7 +327,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Prepare the form model and view, including reference and error data,
* for the given page. Can be used in <code>processFinish</code> implementations,
* for the given page. Can be used in {@code processFinish} implementations,
* to show the corresponding page in case of validation errors.
* @param request current portlet render request
* @param errors validation errors holder
@@ -387,7 +387,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* Can be overridden to dynamically switch the page view or to return view names
* for dynamically defined pages.
* @param request current portlet request
* @param command the command object as returned by <code>formBackingObject</code>
* @param command the command object as returned by {@code formBackingObject}
* @return the current page count
* @see #getPageCount
*/
@@ -399,7 +399,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* Return the initial page of the wizard, i.e. the page shown at wizard startup.
* <p>The default implementation delegates to {@link #getInitialPage(PortletRequest)}.
* @param request current portlet request
* @param command the command object as returned by <code>formBackingObject</code>
* @param command the command object as returned by {@code formBackingObject}
* @return the initial page number
* @see #getInitialPage(PortletRequest)
* @see #formBackingObject
@@ -421,7 +421,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Return the name of the PortletSession attribute that holds the page object
* for this wizard form controller.
* <p>The default implementation delegates to the <code>getPageSessionAttributeName</code>
* <p>The default implementation delegates to the {@code getPageSessionAttributeName}
* version without arguments.
* @param request current portlet request
* @return the name of the form session attribute, or null if not in session form mode
@@ -469,7 +469,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Pass the the parameter that indicates the target page of the request
* forward to the render phase. If the <code>getTargetPage<code> method
* forward to the render phase. If the {@code getTargetPage} method
* was overridden, this may need to be overriden as well.
* @param request the current action request
* @param response the current action response
@@ -502,7 +502,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Pass the the parameter that indicates a finish request forward to the
* render phase. If the <code>isFinishRequest</code> method
* render phase. If the {@code isFinishRequest} method
* was overridden, this may need to be overriden as well.
* @param request the current action request
* @param response the current action response
@@ -525,7 +525,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Pass the the parameter that indicates a cancel request forward to the
* render phase. If the <code>isCancelRequest</code> method
* render phase. If the {@code isCancelRequest} method
* was overridden, this may need to be overriden as well.
* @param request the current action request
* @param response the current action response
@@ -723,9 +723,9 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Determine whether the incoming request is a request to finish the
* processing of the current form.
* <p>By default, this method returns <code>true</code> if a parameter
* <p>By default, this method returns {@code true} if a parameter
* matching the "_finish" key is present in the request, otherwise it
* returns <code>false</code>. Subclasses may override this method
* returns {@code false}. Subclasses may override this method
* to provide custom logic to detect a finish request.
* <p>The parameter is recognized both when sent as a plain parameter
* ("_finish") or when triggered by an image button ("_finish.x").
@@ -740,9 +740,9 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Determine whether the incoming request is a request to cancel the
* processing of the current form.
* <p>By default, this method returns <code>true</code> if a parameter
* <p>By default, this method returns {@code true} if a parameter
* matching the "_cancel" key is present in the request, otherwise it
* returns <code>false</code>. Subclasses may override this method
* returns {@code false}. Subclasses may override this method
* to provide custom logic to detect a cancel request.
* <p>The parameter is recognized both when sent as a plain parameter
* ("_cancel") or when triggered by an image button ("_cancel.x").
@@ -838,10 +838,10 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
/**
* Template method for custom validation logic for individual pages.
* The default implementation calls <code>validatePage(command, errors, page)</code>.
* <p>Implementations will typically call fine-granular <code>validateXXX</code>
* The default implementation calls {@code validatePage(command, errors, page)}.
* <p>Implementations will typically call fine-granular {@code validateXXX}
* methods of this instance's Validator, combining them to validation of the
* corresponding pages. The Validator's default <code>validate</code> method
* corresponding pages. The Validator's default {@code validate} method
* will not be called by a wizard form controller!
* @param command form object with the current wizard state
* @param errors validation errors holder
@@ -860,7 +860,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* The default implementation is empty.
* <p>Implementations will typically call fine-granular validateXXX methods of this
* instance's validator, combining them to validation of the corresponding pages.
* The validator's default <code>validate</code> method will not be called by a
* The validator's default {@code validate} method will not be called by a
* wizard form controller!
* @param command form object with the current wizard state
* @param errors validation errors holder
@@ -891,7 +891,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* <p>The default implementation throws a PortletException, saying that a finish
* render request is not supported by this controller. Thus, you do not need to
* implement this template method if you do not need to render after a finish.
* <p>Call <code>errors.getModel()</code> to populate the ModelAndView model
* <p>Call {@code errors.getModel()} to populate the ModelAndView model
* with the command and the Errors instance, under the specified command name,
* as expected by the "spring:bind" tag.
* @param request current portlet render request
@@ -937,7 +937,7 @@ public abstract class AbstractWizardFormController extends AbstractFormControlle
* <p>The default implementation throws a PortletException, saying that a cancel
* render request is not supported by this controller. Thus, you do not need to
* implement this template method if you do not support a cancel operation.
* <p>Call <code>errors.getModel()</code> to populate the ModelAndView model
* <p>Call {@code errors.getModel()} to populate the ModelAndView model
* with the command and the Errors instance, under the specified command name,
* as expected by the "spring:bind" tag.
* @param request current portlet render request

View File

@@ -54,18 +54,18 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* Upon receiving a request, any BaseCommandController will attempt to fill the
* command object using the request parameters. This is done using the typical
* and well-known JavaBeans property notation. When a request parameter named
* <code>'firstName'</code> exists, the framework will attempt to call
* <code>setFirstName([value])</code> passing the value of the parameter. Nested properties
* are of course supported. For instance a parameter named <code>'address.city'</code>
* will result in a <code>getAddress().setCity([value])</code> call on the
* {@code 'firstName'} exists, the framework will attempt to call
* {@code setFirstName([value])} passing the value of the parameter. Nested properties
* are of course supported. For instance a parameter named {@code 'address.city'}
* will result in a {@code getAddress().setCity([value])} call on the
* command class.</p>
*
* <p>It's important to realize that you are not limited to String arguments in
* your JavaBeans. Using the PropertyEditor-notion as supplied by the
* java.beans package, you will be able to transform Strings to Objects and
* the other way around. For instance <code>setLocale(Locale loc)</code> is
* perfectly possible for a request parameter named <code>locale</code> having
* a value of <code>en</code>, as long as you register the appropriate
* the other way around. For instance {@code setLocale(Locale loc)} is
* perfectly possible for a request parameter named {@code locale} having
* a value of {@code en}, as long as you register the appropriate
* PropertyEditor in the Controller (see {@link #initBinder initBinder()}
* for more information on that matter).</p>
*
@@ -79,7 +79,7 @@ import org.springframework.web.portlet.handler.PortletSessionRequiredException;
* <p><b><a name="workflow">Workflow
* (<a href="AbstractController.html#workflow">and that defined by superclass</a>):</b><br>
* Since this class is an abstract base class for more specific implementation,
* it does not override the <code>handleRequestInternal()</code> methods and also has no
* it does not override the {@code handleRequestInternal()} methods and also has no
* actual workflow. Implementing classes like
* {@link AbstractFormController AbstractFormController},
* {@link AbstractCommandController AbstractCommandController},
@@ -268,7 +268,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Set the strategy to use for resolving errors into message codes.
* Applies the given strategy to all data binders used by this controller.
* <p>Default is <code>null</code>, i.e. using the default strategy of the data binder.
* <p>Default is {@code null}, i.e. using the default strategy of the data binder.
* @see #createBinder
* @see org.springframework.validation.DataBinder#setMessageCodesResolver
*/
@@ -285,8 +285,8 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Set the strategy to use for processing binding errors, that is,
* required field errors and <code>PropertyAccessException</code>s.
* <p>Default is <code>null</code>, i.e. using the default strategy of
* required field errors and {@code PropertyAccessException}s.
* <p>Default is {@code null}, i.e. using the default strategy of
* the data binder.
* @see #createBinder
* @see org.springframework.validation.DataBinder#setBindingErrorProcessor
@@ -306,7 +306,7 @@ public abstract class BaseCommandController extends AbstractController {
* Specify a single PropertyEditorRegistrar to be applied
* to every DataBinder that this controller uses.
* <p>Allows for factoring out the registration of PropertyEditors
* to separate objects, as an alternative to <code>initBinder</code>.
* to separate objects, as an alternative to {@code initBinder}.
* @see #initBinder
*/
public final void setPropertyEditorRegistrar(PropertyEditorRegistrar propertyEditorRegistrar) {
@@ -317,7 +317,7 @@ public abstract class BaseCommandController extends AbstractController {
* Specify one or more PropertyEditorRegistrars to be applied
* to every DataBinder that this controller uses.
* <p>Allows for factoring out the registration of PropertyEditors
* to separate objects, as alternative to <code>initBinder</code>.
* to separate objects, as alternative to {@code initBinder}.
* @see #initBinder
*/
public final void setPropertyEditorRegistrars(PropertyEditorRegistrar[] propertyEditorRegistrars) {
@@ -378,7 +378,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Create a new command instance for the command class of this controller.
* <p>This implementation uses <code>BeanUtils.instantiateClass</code>,
* <p>This implementation uses {@code BeanUtils.instantiateClass},
* so the command needs to have a no-arg constructor (supposed to be
* public, but not required to).
* @return the new command instance
@@ -434,7 +434,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Return whether to suppress binding for the given request.
* <p>The default implementation always returns <code>false</code>.
* <p>The default implementation always returns {@code false}.
* Can be overridden in subclasses to suppress validation:
* for example, if a special request parameter is set.
* @param request current portlet request
@@ -447,11 +447,11 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Create a new binder instance for the given command and request.
* <p>Called by <code>bindAndValidate</code>. Can be overridden to plug in
* <p>Called by {@code bindAndValidate}. Can be overridden to plug in
* custom PortletRequestDataBinder instances.
* <p>The default implementation creates a standard PortletRequestDataBinder and
* invokes <code>prepareBinder</code> and <code>initBinder</code>.
* <p>Note that neither <code>prepareBinder</code> nor <code>initBinder</code>
* invokes {@code prepareBinder} and {@code initBinder}.
* <p>Note that neither {@code prepareBinder} nor {@code initBinder}
* will be invoked automatically if you override this method! Call those methods
* at appropriate points of your overridden method.
* @param request current portlet request
@@ -474,7 +474,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Prepare the given binder, applying the specified MessageCodesResolver,
* BindingErrorProcessor and PropertyEditorRegistrars (if any).
* Called by <code>createBinder</code>.
* Called by {@code createBinder}.
* @param binder the new binder instance
* @see #createBinder
* @see #setMessageCodesResolver
@@ -499,8 +499,8 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Determine whether to use direct field access instead of bean property access.
* Applied by <code>prepareBinder</code>.
* <p>The default is <code>false</code>. Can be overridden in subclasses.
* Applied by {@code prepareBinder}.
* <p>The default is {@code false}. Can be overridden in subclasses.
* @see #prepareBinder
* @see org.springframework.validation.DataBinder#initDirectFieldAccess()
*/
@@ -510,7 +510,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Initialize the given binder instance, for example with custom editors.
* Called by <code>createBinder</code>.
* Called by {@code createBinder}.
* <p>This method allows you to register custom editors for certain fields of your
* command class. For instance, you will be able to transform Date objects into a
* String pattern and back, in order to allow your JavaBeans to have Date properties
@@ -532,7 +532,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Callback for custom post-processing in terms of binding.
* Called on each submit, after standard binding but before validation.
* <p>The default implementation delegates to <code>onBind(request, command)</code>.
* <p>The default implementation delegates to {@code onBind(request, command)}.
* @param request current portlet request
* @param command the command object to perform further binding on
* @param errors validation errors holder, allowing for additional
@@ -547,7 +547,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Callback for custom post-processing in terms of binding.
* Called by the default implementation of the <code>onBind</code> version with
* Called by the default implementation of the {@code onBind} version with
* all parameters, after standard binding but before validation.
* <p>The default implementation is empty.
* @param request current portlet request
@@ -560,7 +560,7 @@ public abstract class BaseCommandController extends AbstractController {
/**
* Return whether to suppress validation for the given request.
* <p>The default implementation always returns <code>false</code>.
* <p>The default implementation always returns {@code false}.
* Can be overridden in subclasses to suppress validation:
* for example, if a special request parameter is set.
* @param request current portlet request

View File

@@ -26,7 +26,7 @@ import org.springframework.web.portlet.ModelAndView;
/**
* Base portlet Controller interface, representing a component that receives
* RenderRequest/RenderResponse and ActionRequest/ActionResponse like a
* <code>Portlet</code> but is able to participate in an MVC workflow.
* {@code Portlet} but is able to participate in an MVC workflow.
*
* <p>Any implementation of the portlet Controller interface should be a
* <i>reusable, threadsafe</i> class, capable of handling multiple
@@ -74,7 +74,7 @@ public interface Controller {
/**
* Process the render request and return a ModelAndView object which the DispatcherPortlet
* will render. A <code>null</code> return value is not an error: It indicates that this
* will render. A {@code null} return value is not an error: It indicates that this
* object completed request processing itself, thus there is no ModelAndView to render.
* @param request current portlet render request
* @param response current portlet render response

View File

@@ -35,7 +35,7 @@ import org.springframework.web.portlet.ModelAndView;
* <li>Render request is received by the controller</li>
* <li>call to {@link #handleRenderRequestInternal handleRenderRequestInternal} which
* just returns the view, named by the configuration property
* <code>viewName</code>. Nothing more, nothing less</li>
* {@code viewName}. Nothing more, nothing less</li>
* </ol>
* </p>
*

View File

@@ -102,7 +102,7 @@ public class PortletWrappingController extends AbstractController
/**
* Set whether to use the shared PortletConfig object passed in
* through <code>setPortletConfig</code>, if available.
* through {@code setPortletConfig}, if available.
* <p>Default is "true". Turn this setting to "false" to pass in
* a mock PortletConfig object with the bean name as portlet name,
* holding the current PortletContext.
@@ -123,7 +123,7 @@ public class PortletWrappingController extends AbstractController
/**
* Set the class of the Portlet to wrap.
* Needs to implement <code>javax.portlet.Portlet</code>.
* Needs to implement {@code javax.portlet.Portlet}.
* @see javax.portlet.Portlet
*/
public void setPortletClass(Class portletClass) {

View File

@@ -36,7 +36,7 @@ public interface ResourceAwareController {
/**
* Process the resource request and return a ModelAndView object which the DispatcherPortlet
* will render. A <code>null</code> return value is not an error: It indicates that this
* will render. A {@code null} return value is not an error: It indicates that this
* object completed request processing itself, thus there is no ModelAndView to render.
* @param request current portlet resource request
* @param response current portlet resource response

View File

@@ -49,8 +49,8 @@ import org.springframework.web.portlet.ModelAndView;
* render phase will be called repeatedly by the portal -- it does this every time
* the page containing the portlet is updated, even if the activity is in some other
* portlet. The main difference in the methods in this class is that the
* <code>onSubmit</code> methods have all been split into <code>onSubmitAction</code>
* and <code>onSubmitRender</code> to account for the two phases.</p>
* {@code onSubmit} methods have all been split into {@code onSubmitAction}
* and {@code onSubmitRender} to account for the two phases.</p>
*
* <p><b><a name="workflow">Workflow
* (<a href="AbstractFormController.html#workflow">in addition to the superclass</a>):</b><br>
@@ -70,12 +70,12 @@ import org.springframework.web.portlet.ModelAndView;
* <li>If no errors occurred, the controller will call
* {@link #onSubmitAction(ActionRequest, ActionResponse, Object, BindException) onSubmitAction}
* during the action phase and then {@link #onSubmitRender(RenderRequest, RenderResponse,
* Object, BindException) onSubmitRender} during the render phase, which in case of the
* Object, BindException) onSubmitRender} during the render phase, which in case of the
* default implementation delegate to {@link #onSubmitAction(Object, BindException)
* onSubmitAction} and {@link #onSubmitRender(Object, BindException) onSubmitRender}
* with just the command object.
* The default implementation of the latter method will return the configured
* <code>successView</code>. Consider just implementing {@link #doSubmitAction doSubmitAction}
* {@code successView}. Consider just implementing {@link #doSubmitAction doSubmitAction}
* for simply performing a submit action during the action phase and then rendering
* the success view during the render phase.</li>
* </ol>
@@ -85,9 +85,9 @@ import org.springframework.web.portlet.ModelAndView;
* {@link #onSubmitAction onSubmitAction} or {@link #onSubmitRender onSubmitRender}
* methods. Submit actions can also perform custom validation if necessary
* (typically database-driven checks), calling {@link #showForm(RenderRequest,
* RenderResponse, BindException) showForm} in case of validation errors to show
* the form view again. You do not have to override both the <code>onSubmitAction</code> and
* <code>onSubmitRender</code> methods at a given level unless you truly have custom logic to
* RenderResponse, BindException) showForm} in case of validation errors to show
* the form view again. You do not have to override both the {@code onSubmitAction} and
* {@code onSubmitRender} methods at a given level unless you truly have custom logic to
* perform in both.<p>
*
* <p><b>WARNING:</b> Make sure that any one-time system updates (such as database
@@ -121,10 +121,10 @@ import org.springframework.web.portlet.ModelAndView;
* <table>
* </p>
*
* <p>Parameters indicated with <code>setPassRenderParameters</code> will be
* <p>Parameters indicated with {@code setPassRenderParameters} will be
* preserved if the form has errors or if a form change request occurs.
* If there are render parameters you need in <code>onSubmitRender</code>,
* then you need to pass those forward from <code>onSubmitAction</code>.
* If there are render parameters you need in {@code onSubmitRender},
* then you need to pass those forward from {@code onSubmitAction}.
*
* <p>Thanks to Rainer Schmitz and Nick Lothian for their suggestions!
*
@@ -147,7 +147,7 @@ public class SimpleFormController extends AbstractFormController {
* <p>Subclasses should set the following properties, either in the constructor
* or via a BeanFactory: commandName, commandClass, sessionForm, formView,
* successView. Note that commandClass doesn't need to be set when overriding
* <code>formBackingObject</code>, as this determines the class anyway.
* {@code formBackingObject}, as this determines the class anyway.
* @see #setCommandClass(Class)
* @see #setCommandName(String)
* @see #setSessionForm(boolean)
@@ -249,7 +249,7 @@ public class SimpleFormController extends AbstractFormController {
/**
* Create a reference data map for the given request.
* Called by referenceData version with all parameters.
* <p>The default implementation returns <code>null</code>.
* <p>The default implementation returns {@code null}.
* Subclasses can override this to set reference data used in the view.
* @param request current portlet request
* @return a Map with reference data entries, or null if none
@@ -263,11 +263,11 @@ public class SimpleFormController extends AbstractFormController {
/**
* This implementation calls <code>showForm</code> in case of errors,
* and delegates to <code>onSubmitRender<code>'s full version else.
* This implementation calls {@code showForm} in case of errors,
* and delegates to {@code onSubmitRender}'s full version else.
* <p>This can only be overridden to check for an action that should be executed
* without respect to binding errors, like a cancel action. To just handle successful
* submissions without binding errors, override one of the <code>onSubmitRender</code>
* submissions without binding errors, override one of the {@code onSubmitRender}
* methods.
* @see #showForm(RenderRequest, RenderResponse, BindException)
* @see #onSubmitRender(RenderRequest, RenderResponse, Object, BindException)
@@ -289,11 +289,11 @@ public class SimpleFormController extends AbstractFormController {
/**
* This implementation does nothing in case of errors,
* and delegates to <code>onSubmitAction</code>'s full version else.
* and delegates to {@code onSubmitAction}'s full version else.
* <p>This can only be overridden to check for an action that should be executed
* without respect to binding errors, like a cancel action. To just handle successful
* submissions without binding errors, override one of the <code>onSubmitAction</code>
* methods or <code>doSubmitAction</code>.
* submissions without binding errors, override one of the {@code onSubmitAction}
* methods or {@code doSubmitAction}.
* @see #showForm
* @see #onSubmitAction(ActionRequest, ActionResponse, Object, BindException)
* @see #onSubmitAction(Object, BindException)
@@ -347,7 +347,7 @@ public class SimpleFormController extends AbstractFormController {
* <p>Gets called by {@link #suppressValidation} and {@link #processFormSubmission}.
* Consequently, this single method determines to suppress validation
* <i>and</i> to show the form view in any case.
* <p>The default implementation returns <code>false</code.
* <p>The default implementation returns {@code false}.
* @param request current portlet request
* @return whether the given request is a form change request
* @see #suppressValidation
@@ -359,10 +359,10 @@ public class SimpleFormController extends AbstractFormController {
/**
* Called during form submission if {@link #isFormChangeRequest(PortletRequest)}
* returns <code>true</code>. Allows subclasses to implement custom logic
* returns {@code true}. Allows subclasses to implement custom logic
* to modify the command object to directly modify data in the form.
* <p>The default implementation delegates to
* <code>onFormChange(request, response, command)</code>.
* {@code onFormChange(request, response, command)}.
* @param request current action request
* @param response current action response
* @param command form object with request parameters bound onto it
@@ -379,8 +379,8 @@ public class SimpleFormController extends AbstractFormController {
}
/**
* Simpler <code>onFormChange</code> variant, called by the full version
* <code>onFormChange(request, response, command, errors)</code>.
* Simpler {@code onFormChange} variant, called by the full version
* {@code onFormChange(request, response, command, errors)}.
* <p>The default implementation is empty.
* @param request current action request
* @param response current action response
@@ -398,13 +398,13 @@ public class SimpleFormController extends AbstractFormController {
* reported by the registered validator, or on every submit if no validator.
* <p>The default implementation delegates to {@link #onSubmitRender(Object, BindException)}.
* For simply performing a submit action and rendering the specified success view,
* do not implement an <code>onSubmitRender</code> at all.
* do not implement an {@code onSubmitRender} at all.
* <p>Subclasses can override this to provide custom rendering to display results of
* the action phase. Implementations can also call <code>showForm</code> to return to the form
* if the <code>onSubmitAction</code> failed custom validation. Do <i>not</i> implement multiple
* <code>onSubmitRender</code> methods: In that case,
* the action phase. Implementations can also call {@code showForm} to return to the form
* if the {@code onSubmitAction} failed custom validation. Do <i>not</i> implement multiple
* {@code onSubmitRender} methods: In that case,
* just this method will be called by the controller.
* <p>Call <code>errors.getModel()</code> to populate the ModelAndView model
* <p>Call {@code errors.getModel()} to populate the ModelAndView model
* with the command and the Errors instance, under the specified command name,
* as expected by the "spring:bind" tag.
* @param request current render request
@@ -430,12 +430,12 @@ public class SimpleFormController extends AbstractFormController {
* Submit action phase callback with all parameters. Called in case of submit without errors
* reported by the registered validator respectively on every submit if no validator.
* <p>The default implementation delegates to {@link #onSubmitAction(Object, BindException)}.
* For simply performing a submit action consider implementing <code>doSubmitAction</code>
* rather than an <code>onSubmitAction</code> version.
* For simply performing a submit action consider implementing {@code doSubmitAction}
* rather than an {@code onSubmitAction} version.
* <p>Subclasses can override this to provide custom submission handling like storing
* the object to the database. Implementations can also perform custom validation and
* signal the render phase to call <code>showForm</code> to return to the form. Do <i>not</i>
* implement multiple <code>onSubmitAction</code> methods: In that case,
* signal the render phase to call {@code showForm} to return to the form. Do <i>not</i>
* implement multiple {@code onSubmitAction} methods: In that case,
* just this method will be called by the controller.
* @param request current action request
* @param response current action response
@@ -454,15 +454,15 @@ public class SimpleFormController extends AbstractFormController {
}
/**
* Simpler <code>onSubmitRender</code> version. Called by the default implementation
* of the <code>onSubmitRender</code> version with all parameters.
* Simpler {@code onSubmitRender} version. Called by the default implementation
* of the {@code onSubmitRender} version with all parameters.
* <p>The default implementation calls {@link #onSubmitRender(Object)}, using the
* returned ModelAndView if actually implemented in a subclass. Else, the
* default behavior will apply: rendering the success view with the command
* and Errors instance as model.
* <p>Subclasses can override this to provide custom submission handling that
* does not need request and response.
* <p>Call <code>errors.getModel()</code> to populate the ModelAndView model
* <p>Call {@code errors.getModel()} to populate the ModelAndView model
* with the command and the Errors instance, under the specified command name,
* as expected by the "spring:bind" tag.
* @param command form object with request parameters bound onto it
@@ -492,8 +492,8 @@ public class SimpleFormController extends AbstractFormController {
}
/**
* Simpler <code>onSubmitAction</code> version. Called by the default implementation
* of the <code>onSubmitAction</code> version with all parameters.
* Simpler {@code onSubmitAction} version. Called by the default implementation
* of the {@code onSubmitAction} version with all parameters.
* <p>The default implementation calls {@link #onSubmitAction(Object)}.
* <p>Subclasses can override this to provide custom submission handling that
* does not need request and response.
@@ -510,10 +510,10 @@ public class SimpleFormController extends AbstractFormController {
}
/**
* Simplest <code>onSubmitRender</code> version. Called by the default implementation
* of the <code>onSubmitRender</code> version with command and BindException parameters.
* Simplest {@code onSubmitRender} version. Called by the default implementation
* of the {@code onSubmitRender} version with command and BindException parameters.
* <p>This implementation returns null as ModelAndView, making the calling
* <code>onSubmitRender</code> method perform its default rendering of the success view.
* {@code onSubmitRender} method perform its default rendering of the success view.
* <p>Subclasses can override this to provide custom submission handling
* that just depends on the command object.
* @param command form object with request parameters bound onto it
@@ -529,9 +529,9 @@ public class SimpleFormController extends AbstractFormController {
}
/**
* Simplest <code>onSubmitAction</code> version. Called by the default implementation
* of the <code>onSubmitAction</code> version with command and BindException parameters.
* <p>This implementation calls <code>doSubmitAction</code>.
* Simplest {@code onSubmitAction} version. Called by the default implementation
* of the {@code onSubmitAction} version with command and BindException parameters.
* <p>This implementation calls {@code doSubmitAction}.
* <p>Subclasses can override this to provide custom submission handling
* that just depends on the command object.
* @param command form object with request parameters bound onto it
@@ -546,7 +546,7 @@ public class SimpleFormController extends AbstractFormController {
/**
* Template method for submit actions. Called by the default implementation
* of the simplest <code>onSubmitAction</code> version.
* of the simplest {@code onSubmitAction} version.
* <p><b>This is the preferred submit callback to implement if you want to
* perform an action (like storing changes to the database) and then render
* the success view with the command and Errors instance as model.</b>

View File

@@ -174,11 +174,11 @@ public class AnnotationMethodHandlerAdapter extends PortletContentGenerator
}
/**
* Cache content produced by <code>@SessionAttributes</code> annotated handlers
* Cache content produced by {@code @SessionAttributes} annotated handlers
* for the given number of seconds. Default is 0, preventing caching completely.
* <p>In contrast to the "cacheSeconds" property which will apply to all general
* handlers (but not to <code>@SessionAttributes</code> annotated handlers), this
* setting will apply to <code>@SessionAttributes</code> annotated handlers only.
* handlers (but not to {@code @SessionAttributes} annotated handlers), this
* setting will apply to {@code @SessionAttributes} annotated handlers only.
* @see #setCacheSeconds
* @see org.springframework.web.bind.annotation.SessionAttributes
*/
@@ -195,7 +195,7 @@ public class AnnotationMethodHandlerAdapter extends PortletContentGenerator
* exposed by HttpSessionMutexListener.
* <p>The session mutex is guaranteed to be the same object during
* the entire lifetime of the session, available under the key defined
* by the <code>SESSION_MUTEX_ATTRIBUTE</code> constant. It serves as a
* by the {@code SESSION_MUTEX_ATTRIBUTE} constant. It serves as a
* safe reference to synchronize on for locking on the current session.
* <p>In many cases, the PortletSession reference itself is a safe mutex
* as well, since it will always be the same object reference for the
@@ -256,7 +256,7 @@ public class AnnotationMethodHandlerAdapter extends PortletContentGenerator
/**
* Specify the order value for this HandlerAdapter bean.
* <p>Default value is <code>Integer.MAX_VALUE</code>, meaning that it's non-ordered.
* <p>Default value is {@code Integer.MAX_VALUE}, meaning that it's non-ordered.
* @see org.springframework.core.Ordered#getOrder()
*/
public void setOrder(int order) {
@@ -413,7 +413,7 @@ public class AnnotationMethodHandlerAdapter extends PortletContentGenerator
* <p>The default implementation creates a standard PortletRequestDataBinder.
* This can be overridden for custom PortletRequestDataBinder subclasses.
* @param request current portlet request
* @param target the target object to bind onto (or <code>null</code>
* @param target the target object to bind onto (or {@code null}
* if the binder is just used to convert a plain parameter value)
* @param objectName the objectName of the target object
* @return the PortletRequestDataBinder instance to use

View File

@@ -131,7 +131,7 @@ public class AnnotationMethodHandlerExceptionResolver extends AbstractHandlerExc
* Finds the handler method that matches the thrown exception best.
* @param handler the handler object
* @param thrownException the exception to be handled
* @return the best matching method; or <code>null</code> if none is found
* @return the best matching method; or {@code null} if none is found
*/
private Method findBestExceptionHandlerMethod(Object handler, final Exception thrownException) {
final Class<?> handlerType = handler.getClass();

View File

@@ -93,7 +93,7 @@ import org.springframework.web.portlet.handler.PortletRequestMethodNotSupportedE
public class DefaultAnnotationHandlerMapping extends AbstractMapBasedHandlerMapping<PortletMode> {
/**
* Calls the <code>registerHandlers</code> method in addition
* Calls the {@code registerHandlers} method in addition
* to the superclass's initialization.
* @see #detectHandlers
*/
@@ -140,8 +140,8 @@ public class DefaultAnnotationHandlerMapping extends AbstractMapBasedHandlerMapp
* @param handlerType the handler type to introspect
* @param beanName the name of the bean introspected
* @param typeMapping the type level mapping (if any)
* @return <code>true</code> if at least 1 handler method has been registered;
* <code>false</code> otherwise
* @return {@code true} if at least 1 handler method has been registered;
* {@code false} otherwise
*/
protected boolean detectHandlerMethods(Class<?> handlerType, final String beanName, final RequestMapping typeMapping) {
final Set<Boolean> handlersRegistered = new HashSet<Boolean>(1);

View File

@@ -1,4 +1,3 @@
/**
*
* <p>
@@ -8,9 +7,9 @@
* </p>
*
* <p>
* A <code>Controller</code> - as defined in this package - is analogous to a Struts
* <code>Action</code>. Usually <code>Controllers</code> are JavaBeans
* to allow easy configuration. Controllers define the <code>C</code> from so-called
* A {@code Controller} - as defined in this package - is analogous to a Struts
* {@code Action}. Usually {@code Controllers} are JavaBeans
* to allow easy configuration. Controllers define the {@code C} from so-called
* MVC paradigm and can be used in conjunction with the {@link
* org.springframework.web.portlet.ModelAndView ModelAndView} to achieve interactive
* applications. The view might be represented by a HTML interface, but, because of

View File

@@ -69,8 +69,8 @@ public abstract class PortletUtils {
* <p>Prepends a slash if the path does not already start with a slash,
* and throws a {@link java.io.FileNotFoundException} if the path cannot
* be resolved to a resource (in contrast to
* {@link javax.portlet.PortletContext#getRealPath PortletContext's <code>getRealPath</code>},
* which simply returns <code>null</code>).
* {@link javax.portlet.PortletContext#getRealPath PortletContext's {@code getRealPath}},
* which simply returns {@code null}).
* @param portletContext the portlet context of the web application
* @param path the relative path within the web application
* @return the corresponding real path
@@ -96,11 +96,11 @@ public abstract class PortletUtils {
/**
* Check the given request for a session attribute of the given name under the
* {@link javax.portlet.PortletSession#PORTLET_SCOPE}.
* Returns <code>null</code> if there is no session or if the session has no such attribute in that scope.
* Returns {@code null} if there is no session or if the session has no such attribute in that scope.
* Does not create a new session if none has existed before!
* @param request current portlet request
* @param name the name of the session attribute
* @return the value of the session attribute, or <code>null</code> if not found
* @return the value of the session attribute, or {@code null} if not found
*/
public static Object getSessionAttribute(PortletRequest request, String name) {
return getSessionAttribute(request, name, PortletSession.PORTLET_SCOPE);
@@ -108,12 +108,12 @@ public abstract class PortletUtils {
/**
* Check the given request for a session attribute of the given name in the given scope.
* Returns <code>null</code> if there is no session or if the session has no such attribute in that scope.
* Returns {@code null} if there is no session or if the session has no such attribute in that scope.
* Does not create a new session if none has existed before!
* @param request current portlet request
* @param name the name of the session attribute
* @param scope session scope of this attribute
* @return the value of the session attribute, or <code>null</code> if not found
* @return the value of the session attribute, or {@code null} if not found
*/
public static Object getSessionAttribute(PortletRequest request, String name, int scope) {
Assert.notNull(request, "Request must not be null");
@@ -160,7 +160,7 @@ public abstract class PortletUtils {
/**
* Set the session attribute with the given name to the given value under the {@link javax.portlet.PortletSession#PORTLET_SCOPE}.
* Removes the session attribute if value is <code>null</code>, if a session existed at all.
* Removes the session attribute if value is {@code null}, if a session existed at all.
* Does not create a new session if not necessary!
* @param request current portlet request
* @param name the name of the session attribute
@@ -172,7 +172,7 @@ public abstract class PortletUtils {
/**
* Set the session attribute with the given name to the given value in the given scope.
* Removes the session attribute if value is <code>null</code>, if a session existed at all.
* Removes the session attribute if value is {@code null}, if a session existed at all.
* Does not create a new session if not necessary!
* @param request current portlet request
* @param name the name of the session attribute
@@ -252,7 +252,7 @@ public abstract class PortletUtils {
* <p>Returns the session mutex attribute if available; usually,
* this means that the
* {@link org.springframework.web.util.HttpSessionMutexListener}
* needs to be defined in <code>web.xml</code>. Falls back to the
* needs to be defined in {@code web.xml}. Falls back to the
* {@link javax.portlet.PortletSession} itself if no mutex attribute found.
* <p>The session mutex is guaranteed to be the same object during
* the entire lifetime of the session, available under the key defined
@@ -265,7 +265,7 @@ public abstract class PortletUtils {
* not guaranteed across different servlet containers; the only 100% safe
* way is a session mutex.
* @param session the HttpSession to find a mutex for
* @return the mutex object (never <code>null</code>)
* @return the mutex object (never {@code null})
* @see org.springframework.web.util.WebUtils#SESSION_MUTEX_ATTRIBUTE
* @see org.springframework.web.util.HttpSessionMutexListener
*/
@@ -284,7 +284,7 @@ public abstract class PortletUtils {
* unwrapping the given request as far as necessary.
* @param request the portlet request to introspect
* @param requiredType the desired type of request object
* @return the matching request object, or <code>null</code> if none
* @return the matching request object, or {@code null} if none
* of that type is available
*/
@SuppressWarnings("unchecked")
@@ -305,7 +305,7 @@ public abstract class PortletUtils {
* unwrapping the given response as far as necessary.
* @param response the portlet response to introspect
* @param requiredType the desired type of response object
* @return the matching response object, or <code>null</code> if none
* @return the matching response object, or {@code null} if none
* of that type is available
*/
@SuppressWarnings("unchecked")
@@ -340,7 +340,7 @@ public abstract class PortletUtils {
* cookies can have the same name but different paths or domains.
* @param request current portlet request
* @param name cookie name
* @return the first cookie with the given name, or <code>null</code> if none is found
* @return the first cookie with the given name, or {@code null} if none is found
*/
public static Cookie getCookie(PortletRequest request, String name) {
Assert.notNull(request, "Request must not be null");
@@ -402,7 +402,7 @@ public abstract class PortletUtils {
* but more flexible.
* @param request portlet request in which to look for parameters
* @param prefix the beginning of parameter names
* (if this is <code>null</code> or the empty string, all parameters will match)
* (if this is {@code null} or the empty string, all parameters will match)
* @return map containing request parameters <b>without the prefix</b>,
* containing either a String or a String array as values
* @see javax.portlet.PortletRequest#getParameterNames