Class CommerceHandlerMapping
- java.lang.Object
-
- org.springframework.context.support.ApplicationObjectSupport
-
- org.springframework.web.context.support.WebApplicationObjectSupport
-
- org.springframework.web.servlet.handler.AbstractHandlerMapping
-
- org.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
- org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
-
- org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
-
- de.hybris.platform.ycommercewebservices.request.mapping.handler.CommerceHandlerMapping
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.context.EmbeddedValueResolverAware,org.springframework.core.Ordered,org.springframework.web.context.ServletContextAware,org.springframework.web.servlet.handler.MatchableHandlerMapping,org.springframework.web.servlet.HandlerMapping
public class CommerceHandlerMapping extends org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappingCreatesRequestMappingInfoinstances from type and method-level@RequestMappingannotations in@Controllerclasses. Additionally it resolve RequestMapping conflicts base on@RequestMappingOverrideannotation. Method with highest priority will be added as handler mapping. CommerceHandlerMapping use also@ApiVersionannotation to avoid adding request mapping dedicated for different API version of commerce web services
-
-
Field Summary
-
Fields inherited from interface org.springframework.web.servlet.HandlerMapping
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
-
-
Constructor Summary
Constructors Constructor Description CommerceHandlerMapping(java.lang.String apiVersion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddetectOverriddenMappings(java.lang.Object handler)Looks for overridden request mapping.intgetDefaultRequestMappingOverridePriority()protected org.springframework.web.servlet.mvc.method.RequestMappingInfogetMappingForMethod(java.lang.reflect.Method method, java.lang.Class<?> handlerType)Gets mapping from parent method and check if it wasn't overridden byRequestMappingOverrideannotationprotected java.lang.IntegergetMethodPriorityValue(java.lang.reflect.Method method)Gets method priority value based onRequestMappingOverrideannotation.java.util.Map<org.springframework.web.servlet.mvc.method.RequestMappingInfo,java.lang.Integer>getOverriddenRequestMapping()protected booleanhasRequestMappingOverrideAnnotation(java.lang.reflect.Method method)Checks if method hasRequestMappingOverrideannotationprotected voidinitHandlerMethods()Scan beans in the ApplicationContext, detect and register handler methods.protected voidinitOverridenRequestMappings()Scan beans in the ApplicationContext, detect and register overridden request mappings.protected booleanisHandler(java.lang.Class<?> beanType)protected booleanisRequestMappingOverridden(org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping, java.lang.reflect.Method method)Method checks if mapping was overriddenprotected voidregisterOverriddenMapping(java.lang.reflect.Method method, org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping)Adds overridden request mapping to mapvoidsetDefaultRequestMappingOverridePriority(int defaultRequestMappingOverridePriority)voidsetDetectHandlerMethodsInAncestorContexts(boolean detectHandlerMethodsInAncestorContexts)-
Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
afterPropertiesSet, createRequestMappingInfo, getContentNegotiationManager, getCustomMethodCondition, getCustomTypeCondition, getFileExtensions, getPathPrefixes, initCorsConfiguration, match, registerHandlerMethod, registerMapping, resolveEmbeddedValuesInPatterns, setContentNegotiationManager, setEmbeddedValueResolver, setPathPrefixes, setUseRegisteredSuffixPatternMatch, setUseSuffixPatternMatch, setUseTrailingSlashMatch, useRegisteredSuffixPatternMatch, useSuffixPatternMatch, useTrailingSlashMatch
-
Methods inherited from class org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
getHandlerInternal, getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch, handleNoMatch
-
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
createHandlerMethod, detectHandlerMethods, getCandidateBeanNames, getCorsConfiguration, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, hasCorsConfigurationSource, lookupHandlerMethod, processCandidateBean, setHandlerMethodMappingNamingStrategy, unregisterMapping
-
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initApplicationContext, initInterceptors, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper
-
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
-
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
-
-
-
-
Method Detail
-
isHandler
protected boolean isHandler(java.lang.Class<?> beanType)
- Overrides:
isHandlerin classorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
-
initHandlerMethods
protected void initHandlerMethods()
Scan beans in the ApplicationContext, detect and register handler methods. Additionally this method detect which request mapping was overridden- Overrides:
initHandlerMethodsin classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
getMappingForMethod
protected org.springframework.web.servlet.mvc.method.RequestMappingInfo getMappingForMethod(java.lang.reflect.Method method, java.lang.Class<?> handlerType)Gets mapping from parent method and check if it wasn't overridden byRequestMappingOverrideannotation- Overrides:
getMappingForMethodin classorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping- Returns:
- the created RequestMappingInfo, or
nullif the method does not have a@RequestMappingannotation or mapping was overridden byRequestMappingOverrideannotation.
-
isRequestMappingOverridden
protected boolean isRequestMappingOverridden(org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping, java.lang.reflect.Method method)Method checks if mapping was overridden
-
hasRequestMappingOverrideAnnotation
protected boolean hasRequestMappingOverrideAnnotation(java.lang.reflect.Method method)
Checks if method hasRequestMappingOverrideannotation
-
getMethodPriorityValue
protected java.lang.Integer getMethodPriorityValue(java.lang.reflect.Method method)
Gets method priority value based onRequestMappingOverrideannotation. Priority value is read from properties files (project.properties, local.properties). If there is nopriorityPropertythen<className>.<methodName>.prioritywill be used as property name. If there is no value for property with given name, default value = 0 will be returned.
-
initOverridenRequestMappings
protected void initOverridenRequestMappings()
Scan beans in the ApplicationContext, detect and register overridden request mappings.
-
detectOverriddenMappings
protected void detectOverriddenMappings(java.lang.Object handler)
Looks for overridden request mapping.- Parameters:
handler- the bean name of a handler or a handler instance
-
registerOverriddenMapping
protected void registerOverriddenMapping(java.lang.reflect.Method method, org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping)Adds overridden request mapping to map
-
setDetectHandlerMethodsInAncestorContexts
public void setDetectHandlerMethodsInAncestorContexts(boolean detectHandlerMethodsInAncestorContexts)
- Overrides:
setDetectHandlerMethodsInAncestorContextsin classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
getOverriddenRequestMapping
public java.util.Map<org.springframework.web.servlet.mvc.method.RequestMappingInfo,java.lang.Integer> getOverriddenRequestMapping()
-
getDefaultRequestMappingOverridePriority
public int getDefaultRequestMappingOverridePriority()
-
setDefaultRequestMappingOverridePriority
public void setDefaultRequestMappingOverridePriority(int defaultRequestMappingOverridePriority)
-
-