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 class org.springframework.web.servlet.handler.AbstractHandlerMapping
mappingsLogger
-
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
getDirectPaths, 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, setPatternParser, unregisterMapping
-
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, initApplicationContext, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns
-
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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
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)
-
-