Package org.springframework.security.web.access.intercept

# Class DefaultFilterInvocationSecurityMetadataSource

java.lang.Object
org.springframework.security.web.access.intercept.DefaultFilterInvocationSecurityMetadataSource

All Implemented Interfaces:
  `org.springframework.aop.framework.AopInfrastructureBean`, `org.springframework.security.access.SecurityMetadataSource`, `FilterInvocationSecurityMetadataSource`

Direct Known Subclasses:
  `ExpressionBasedFilterInvocationSecurityMetadataSource`

public class DefaultFilterInvocationSecurityMetadataSource extends Object implements FilterInvocationSecurityMetadataSource
Default implementation of `FilterInvocationDefinitionSource`.

Stores an ordered map of `RequestMatcher`s to `ConfigAttribute` collections and provides matching of `FilterInvocation`s against the items stored in the map.

The order of the `RequestMatcher`s in the map is very important. The first one which matches the request will be used. Later matchers in the map will not be invoked if a match has already been found. Accordingly, the most specific matchers should be registered first, with the most general matches registered last.

The most common method creating an instance is using the Spring Security namespace. For example, the `pattern` and `access` attributes of the `<intercept-url>` elements defined as children of the `<http>` element are combined to build the instance used by the `FilterSecurityInterceptor`.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final org.apache.commons.logging.Log`
`logger`

## Constructor Summary

Constructors
Constructor
Description
`DefaultFilterInvocationSecurityMetadataSource(LinkedHashMap<RequestMatcher,Collection<org.springframework.security.access.ConfigAttribute>> requestMap)`
Sets the internal request map from the supplied map.

## Method Summary

Modifier and Type
Method
Description
`Collection<org.springframework.security.access.ConfigAttribute>`
`getAllConfigAttributes()`
`Collection<org.springframework.security.access.ConfigAttribute>`
`getAttributes(Object object)`
`boolean`
`supports(Class<?> clazz)`

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

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

## Field Details

### logger

protected final org.apache.commons.logging.Log logger

## Constructor Details

### DefaultFilterInvocationSecurityMetadataSource

public DefaultFilterInvocationSecurityMetadataSource(LinkedHashMap<RequestMatcher,Collection<org.springframework.security.access.ConfigAttribute>> requestMap)
Sets the internal request map from the supplied map. The key elements should be of type `RequestMatcher`, which. The path stored in the key will depend on the type of the supplied UrlMatcher.

Parameters:
  `requestMap` - order-preserving map of request definitions to attribute lists

## Method Details

### getAllConfigAttributes

public Collection<org.springframework.security.access.ConfigAttribute> getAllConfigAttributes()

Specified by:
  `getAllConfigAttributes` in interface `org.springframework.security.access.SecurityMetadataSource`

### getAttributes

public Collection<org.springframework.security.access.ConfigAttribute> getAttributes(Object object)

Specified by:
  `getAttributes` in interface `org.springframework.security.access.SecurityMetadataSource`

### supports

public boolean supports(Class<?> clazz)

Specified by:
  `supports` in interface `org.springframework.security.access.SecurityMetadataSource`