Class FrameworkControllerHandlerMapping

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
org.broadleafcommerce.common.web.controller.FrameworkControllerHandlerMapping
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

@Component public class FrameworkControllerHandlerMapping extends org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
HandlerMapping to find and map FrameworkMappings inside FrameworkController and FrameworkRestController classes.

When framework controllers are enabled with EnableAllFrameworkControllers, EnableFrameworkControllers, or EnableFrameworkRestControllers and a class is annotated with FrameworkController or FrameworkRestController then this class will add FrameworkMappings found within the class to handler mappings. This class has a lower priority than the default RequestMappingHandlerMapping so when a request comes in, RequestMappings located inside a class annotated with Controller or RestController will have a higher priority and be found before FrameworkMappings found within a FrameworkController or FrameworkRestController.

The site handler mappings in play in order of precedence from highest to lowest are:

  1. RequestMappingHandlerMapping
  2. FrameworkControllerHandlerMapping

The admin handler mappings in play in order of precedence from highest to lowest are:

  1. AdminRequestMappingHandlerMapping
  2. FrameworkControllerHandlerMapping
  3. AdminControllerHandlerMapping
Since:
5.2
Author:
Philip Baggett (pbaggett)
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     

    Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping

    mappingsLogger

    Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

    logger

    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

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.springframework.web.servlet.mvc.method.RequestMappingInfo
    getMappingForMethod(Method method, Class<?> handlerType)
     
    protected boolean
    isHandler(Class<?> beanType)
     

    Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping

    afterPropertiesSet, createRequestMappingInfo, createRequestMappingInfo, getBuilderConfiguration, getContentNegotiationManager, getCustomMethodCondition, getCustomTypeCondition, getFileExtensions, getPathPrefixes, initCorsConfiguration, match, registerHandlerMethod, registerMapping, resolveEmbeddedValuesInPatterns, setContentNegotiationManager, setEmbeddedValueResolver, setPathPrefixes, setPatternParser, 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, initHandlerMethods, lookupHandlerMethod, processCandidateBean, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, 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

    Methods inherited from interface org.springframework.web.servlet.HandlerMapping

    getHandler, usesPathPatterns

    Methods inherited from interface org.springframework.web.servlet.handler.MatchableHandlerMapping

    getPatternParser
  • Field Details

  • Constructor Details

    • FrameworkControllerHandlerMapping

      public FrameworkControllerHandlerMapping()
  • Method Details

    • isHandler

      protected boolean isHandler(Class<?> beanType)
      Overrides:
      isHandler in class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
    • getMappingForMethod

      protected org.springframework.web.servlet.mvc.method.RequestMappingInfo getMappingForMethod(Method method, Class<?> handlerType)
      Overrides:
      getMappingForMethod in class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping