Class PortletModeHandlerMapping
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- org.springframework.web.portlet.handler.AbstractHandlerMapping
- org.springframework.web.portlet.handler.AbstractMapBasedHandlerMapping<PortletMode>
- org.springframework.web.portlet.handler.PortletModeHandlerMapping
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,Ordered
,HandlerMapping
public class PortletModeHandlerMapping extends AbstractMapBasedHandlerMapping<PortletMode>
Implementation of theHandlerMapping
interface to map from the current PortletMode to request handler beans.The bean configuration for this mapping will look something like this:
<bean id="portletModeHandlerMapping" class="org.springframework.web.portlet.handler.PortletModeHandlerMapping"> <property name="portletModeMap"> <map> <entry key="view"><ref bean="viewHandler"/></entry> <entry key="edit"><ref bean="editHandler"/></entry> <entry key="help"><ref bean="helpHandler"/></entry> </map> </property> </bean>
- Since:
- 2.0
- Author:
- William G. Thompson, Jr., John A. Lewis
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.portlet.handler.AbstractMapBasedHandlerMapping
AbstractMapBasedHandlerMapping.PortletRequestMappingPredicate
Field Summary
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description PortletModeHandlerMapping()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PortletMode
getLookupKey(PortletRequest request)
Uses the current PortletMode as lookup key.void
initApplicationContext()
Calls theregisterHandlers
method in addition to the superclass's initialization.protected void
registerHandlersByMode(Map<String,Object> portletModeMap)
Register all handlers specified in the Portlet mode map for the corresponding modes.void
setMappings(Properties mappings)
Set PortletMode to handler bean name mappings from a Properties object.void
setPortletModeMap(Map<String,?> portletModeMap)
Set a Map with PortletModes as keys and handler beans as values.Methods inherited from class org.springframework.web.portlet.handler.AbstractMapBasedHandlerMapping
getHandlerInternal, registerHandler, registerHandler, registerHandlers, setLazyInitHandlers
Methods inherited from class org.springframework.web.portlet.handler.AbstractHandlerMapping
adaptInterceptor, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getOrder, initInterceptors, setApplyWebRequestInterceptorsToRenderPhaseOnly, setDefaultHandler, setInterceptors, setOrder
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, isContextRequired, requiredContextClass, setApplicationContext
Constructor Detail
PortletModeHandlerMapping
public PortletModeHandlerMapping()
Method Detail
setMappings
public void setMappings(Properties mappings)
Set PortletMode to handler bean name mappings from a Properties object.- Parameters:
mappings
- properties with PortletMode names as keys and bean names as values
setPortletModeMap
public void setPortletModeMap(Map<String,?> portletModeMap)
Set a Map with PortletModes as keys and handler beans as values. Convenient for population with bean references.- Parameters:
portletModeMap
- map with PortletMode names as keys and beans or bean names as values
initApplicationContext
public void initApplicationContext() throws BeansException
Calls theregisterHandlers
method in addition to the superclass's initialization.- Overrides:
initApplicationContext
in classAbstractHandlerMapping
- Throws:
ApplicationContextException
- in case of initialization errorsBeansException
- if thrown by ApplicationContext methods- See Also:
AbstractMapBasedHandlerMapping.registerHandlers(java.util.Map<K, ?>)
registerHandlersByMode
protected void registerHandlersByMode(Map<String,Object> portletModeMap)
Register all handlers specified in the Portlet mode map for the corresponding modes.- Parameters:
portletModeMap
- Map with mode names as keys and handler beans or bean names as values
getLookupKey
protected PortletMode getLookupKey(PortletRequest request) throws Exception
Uses the current PortletMode as lookup key.- Specified by:
getLookupKey
in classAbstractMapBasedHandlerMapping<PortletMode>
- Parameters:
request
- current portlet request- Returns:
- the lookup key (never
null
) - Throws:
Exception
- if key computation failed