org.springframework.security.access
Interface SecurityMetadataSource

All Superinterfaces:
org.springframework.aop.framework.AopInfrastructureBean
All Known Subinterfaces:
FilterInvocationSecurityMetadataSource, MethodSecurityMetadataSource
All Known Implementing Classes:
AbstractFallbackMethodSecurityMetadataSource, AbstractMethodSecurityMetadataSource, DefaultFilterInvocationSecurityMetadataSource, DelegatingMethodSecurityMetadataSource, ExpressionBasedFilterInvocationSecurityMetadataSource, Jsr250MethodSecurityMetadataSource, MapBasedMethodSecurityMetadataSource, PrePostAnnotationSecurityMetadataSource, SecuredAnnotationSecurityMetadataSource

public interface SecurityMetadataSource
extends org.springframework.aop.framework.AopInfrastructureBean

Implemented by classes that store and can identify the ConfigAttributes that applies to a given secure object invocation.


Method Summary
 java.util.Collection<ConfigAttribute> getAllConfigAttributes()
          If available, returns all of the ConfigAttributes defined by the implementing class.
 java.util.Collection<ConfigAttribute> getAttributes(java.lang.Object object)
          Accesses the ConfigAttributes that apply to a given secure object.
 boolean supports(java.lang.Class<?> clazz)
          Indicates whether the SecurityMetadataSource implementation is able to provide ConfigAttributes for the indicated secure object type.
 

Method Detail

getAttributes

java.util.Collection<ConfigAttribute> getAttributes(java.lang.Object object)
                                                    throws java.lang.IllegalArgumentException
Accesses the ConfigAttributes that apply to a given secure object.

Returns null if no attributes apply.

Parameters:
object - the object being secured
Returns:
the attributes that apply to the passed in secured object or null if there are no applicable attributes.
Throws:
java.lang.IllegalArgumentException - if the passed object is not of a type supported by the SecurityMetadataSource implementation

getAllConfigAttributes

java.util.Collection<ConfigAttribute> getAllConfigAttributes()
If available, returns all of the ConfigAttributes defined by the implementing class.

This is used by the AbstractSecurityInterceptor to perform startup time validation of each ConfigAttribute configured against it.

Returns:
the ConfigAttributes or null if unsupported

supports

boolean supports(java.lang.Class<?> clazz)
Indicates whether the SecurityMetadataSource implementation is able to provide ConfigAttributes for the indicated secure object type.

Parameters:
clazz - the class that is being queried
Returns:
true if the implementation can process the indicated class