org.springframework.webflow.mvc.servlet
Class FlowHandlerMapping

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
          extended by org.springframework.web.servlet.handler.AbstractHandlerMapping
              extended by org.springframework.webflow.mvc.servlet.FlowHandlerMapping
All Implemented Interfaces:
org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered, org.springframework.web.context.ServletContextAware, org.springframework.web.servlet.HandlerMapping

public class FlowHandlerMapping
extends org.springframework.web.servlet.handler.AbstractHandlerMapping

Implementation of HandlerMapping that follows a simple convention for creating URL path mappings from the ids of registered flow definitions. This implementation returns a FlowHandler that invokes a flow if the current request path matches the id of a flow in the configured FlowDefinitionRegistry. Alternatively, a custom FlowHandler may also be registered with in containing ApplicationContext with that id and it will be returned. This allows for more control over the invocation of a flow from Spring MVC environment. Null is returned in the case of no flow id match, allowing the next handler mapping in the chain to execute.

Author:
Keith Donald

Field Summary
 
Fields inherited from interface org.springframework.web.servlet.HandlerMapping
PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
FlowHandlerMapping()
           
 
Method Summary
 FlowDefinitionRegistry getFlowRegistry()
          Returns the registry of flows to query when this mapping is tested.
 FlowUrlHandler getFlowUrlHandler()
          Returns the configured flow url handler.
 void setFlowRegistry(FlowDefinitionRegistry flowRegistry)
          Sets the registry of flows to query when this mapping is tested.
 void setFlowUrlHandler(FlowUrlHandler flowUrlHandler)
          Sets the flow URL handler, which allows customization for how the flow id is determined for each request tested by this mapping.
 
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
getDefaultHandler, getHandler, getOrder, setDefaultHandler, setInterceptors, setOrder
 
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
setServletContext
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, setApplicationContext
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlowHandlerMapping

public FlowHandlerMapping()
Method Detail

getFlowRegistry

public FlowDefinitionRegistry getFlowRegistry()
Returns the registry of flows to query when this mapping is tested.

Returns:
the flow definition registry

setFlowRegistry

public void setFlowRegistry(FlowDefinitionRegistry flowRegistry)
Sets the registry of flows to query when this mapping is tested. Optional. If not set, this handler mapping will look in the containing application context for a bean with id flowRegistry.

Parameters:
flowRegistry - the flow definition registry

getFlowUrlHandler

public FlowUrlHandler getFlowUrlHandler()
Returns the configured flow url handler.


setFlowUrlHandler

public void setFlowUrlHandler(FlowUrlHandler flowUrlHandler)
Sets the flow URL handler, which allows customization for how the flow id is determined for each request tested by this mapping. Defaults to a DefaultFlowUrlHandler.

Parameters:
flowUrlHandler - the flow URL handler