Package org.springframework.security.config.annotation.web

# Class AbstractRequestMatcherRegistry<C>

java.lang.Object
org.springframework.security.config.annotation.web.AbstractRequestMatcherRegistry<C>

Type Parameters:
  `C` - The object that is returned or Chained after creating the RequestMatcher

Direct Known Subclasses:
  `AbstractConfigAttributeRequestMatcherRegistry`, `AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry`, `HttpSecurity.RequestMatcherConfigurer`, `WebSecurity.IgnoredRequestConfigurer`

public abstract class AbstractRequestMatcherRegistry<C> extends Object
A base class for registering `RequestMatcher`'s. For example, it might allow for specifying which `RequestMatcher` require a certain level of authorization.

Since:
  3.2

## Constructor Summary

Constructors
Constructor
Description
`AbstractRequestMatcherRegistry()`

## Method Summary

Modifier and Type
Method
Description
`C`
`anyRequest()`
Maps any request.
`protected abstract C`
`chainRequestMatchers(List<org.springframework.security.web.util.matcher.RequestMatcher> requestMatchers)`
Subclasses should implement this method for returning the object that is chained to the creation of the `RequestMatcher` instances.
`protected final List<org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher>`
`createMvcMatchers(org.springframework.http.HttpMethod method, String... mvcPatterns)`
Creates `MvcRequestMatcher` instances for the method and patterns passed in
`C`
`dispatcherTypeMatchers(jakarta.servlet.DispatcherType... dispatcherTypes)`
Create a `List` of `DispatcherTypeRequestMatcher` instances that do not specify an `HttpMethod`.
`C`
`dispatcherTypeMatchers(org.springframework.http.HttpMethod method, jakarta.servlet.DispatcherType... dispatcherTypes)`
Maps a `List` of `DispatcherTypeRequestMatcher` instances.
`protected final org.springframework.context.ApplicationContext`
`getApplicationContext()`
Gets the `ApplicationContext`
`C`
`requestMatchers(String... patterns)`
If the `HandlerMappingIntrospector` is available in the classpath, maps to an `MvcRequestMatcher` that does not care which `HttpMethod` is used.
`C`
`requestMatchers(org.springframework.http.HttpMethod method)`
If the `HandlerMappingIntrospector` is available in the classpath, maps to an `MvcRequestMatcher` that matches on a specific `HttpMethod`.
`C`
`requestMatchers(org.springframework.http.HttpMethod method, String... patterns)`
If the `HandlerMappingIntrospector` is available in the classpath, maps to an `MvcRequestMatcher` that also specifies a specific `HttpMethod` to match on.
`C`
`requestMatchers(org.springframework.security.web.util.matcher.RequestMatcher... requestMatchers)`
Associates a list of `RequestMatcher` instances with the `AbstractConfigAttributeRequestMatcherRegistry`
`protected final void`
`setApplicationContext(org.springframework.context.ApplicationContext context)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AbstractRequestMatcherRegistry

public AbstractRequestMatcherRegistry()

## Method Details

### setApplicationContext

protected final void setApplicationContext(org.springframework.context.ApplicationContext context)

### getApplicationContext

protected final org.springframework.context.ApplicationContext getApplicationContext()
Gets the `ApplicationContext`

Returns:
  the `ApplicationContext`

### anyRequest

public C anyRequest()
Maps any request.

Returns:
  the object that is chained after creating the `RequestMatcher`

### createMvcMatchers

protected final List<org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher> createMvcMatchers(org.springframework.http.HttpMethod method, String... mvcPatterns)
Creates `MvcRequestMatcher` instances for the method and patterns passed in

Parameters:
  `method` - the HTTP method to use or null if any should be used
  `mvcPatterns` - the Spring MVC patterns to match on
Returns:
  a List of `MvcRequestMatcher` instances

### dispatcherTypeMatchers

public C dispatcherTypeMatchers(@Nullable org.springframework.http.HttpMethod method, jakarta.servlet.DispatcherType... dispatcherTypes)
Maps a `List` of `DispatcherTypeRequestMatcher` instances.

Parameters:
  `method` - the `HttpMethod` to use or `null` for any `HttpMethod`.
  `dispatcherTypes` - the dispatcher types to match against
Returns:
  the object that is chained after creating the `RequestMatcher`

### dispatcherTypeMatchers

public C dispatcherTypeMatchers(jakarta.servlet.DispatcherType... dispatcherTypes)
Create a `List` of `DispatcherTypeRequestMatcher` instances that do not specify an `HttpMethod`.

Parameters:
  `dispatcherTypes` - the dispatcher types to match against
Returns:
  the object that is chained after creating the `RequestMatcher`

### requestMatchers

public C requestMatchers(org.springframework.security.web.util.matcher.RequestMatcher... requestMatchers)
Associates a list of `RequestMatcher` instances with the `AbstractConfigAttributeRequestMatcherRegistry`

Parameters:
  `requestMatchers` - the `RequestMatcher` instances
Returns:
  the object that is chained after creating the `RequestMatcher`

### requestMatchers

public C requestMatchers(org.springframework.http.HttpMethod method, String... patterns)

If the `HandlerMappingIntrospector` is available in the classpath, maps to an `MvcRequestMatcher` that also specifies a specific `HttpMethod` to match on. This matcher will use the same rules that Spring MVC uses for matching. For example, often times a mapping of the path "/path" will match on "/path", "/path/", "/path.html", etc. If the `HandlerMappingIntrospector` is not available, maps to an `AntPathRequestMatcher`.

If a specific `RequestMatcher` must be specified, use `requestMatchers(RequestMatcher...)` instead

Parameters:
  `method` - the `HttpMethod` to use or `null` for any `HttpMethod`.
  `patterns` - the patterns to match on. The rules for matching are defined by Spring MVC if `MvcRequestMatcher` is used
Returns:
  the object that is chained after creating the `RequestMatcher`.
Since:
  5.8

### requestMatchers

public C requestMatchers(String... patterns)

If the `HandlerMappingIntrospector` is available in the classpath, maps to an `MvcRequestMatcher` that does not care which `HttpMethod` is used. This matcher will use the same rules that Spring MVC uses for matching. For example, often times a mapping of the path "/path" will match on "/path", "/path/", "/path.html", etc. If the `HandlerMappingIntrospector` is not available, maps to an `AntPathRequestMatcher`.

If a specific `RequestMatcher` must be specified, use `requestMatchers(RequestMatcher...)` instead

Parameters:
  `patterns` - the patterns to match on. The rules for matching are defined by Spring MVC if `MvcRequestMatcher` is used
Returns:
  the object that is chained after creating the `RequestMatcher`.
Since:
  5.8

### requestMatchers

public C requestMatchers(org.springframework.http.HttpMethod method)

If the `HandlerMappingIntrospector` is available in the classpath, maps to an `MvcRequestMatcher` that matches on a specific `HttpMethod`. This matcher will use the same rules that Spring MVC uses for matching. For example, often times a mapping of the path "/path" will match on "/path", "/path/", "/path.html", etc. If the `HandlerMappingIntrospector` is not available, maps to an `AntPathRequestMatcher`.

If a specific `RequestMatcher` must be specified, use `requestMatchers(RequestMatcher...)` instead

Parameters:
  `method` - the `HttpMethod` to use or `null` for any `HttpMethod`.
Returns:
  the object that is chained after creating the `RequestMatcher`.
Since:
  5.8

### chainRequestMatchers

protected abstract C chainRequestMatchers(List<org.springframework.security.web.util.matcher.RequestMatcher> requestMatchers)
Subclasses should implement this method for returning the object that is chained to the creation of the `RequestMatcher` instances.

Parameters:
  `requestMatchers` - the `RequestMatcher` instances that were created
Returns:
  the chained Object for the subclass which allows association of something else to the `RequestMatcher`