Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.acegisecurity.intercept.web
Class PathBasedFilterInvocationDefinitionMap  view PathBasedFilterInvocationDefinitionMap download PathBasedFilterInvocationDefinitionMap.java

java.lang.Object
  extended byorg.acegisecurity.intercept.web.AbstractFilterInvocationDefinitionSource
      extended byorg.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap
All Implemented Interfaces:
FilterInvocationDefinitionMap, FilterInvocationDefinitionSource, org.acegisecurity.intercept.ObjectDefinitionSource

public class PathBasedFilterInvocationDefinitionMap
extends AbstractFilterInvocationDefinitionSource
implements FilterInvocationDefinitionMap

Maintains a List of ConfigAttributeDefinitions associated with different HTTP request URL Apache Ant path-based patterns.

Apache Ant path expressions are used to match a HTTP request URL against a ConfigAttributeDefinition.

The order of registering the Ant paths using the addSecureUrl(String, ConfigAttributeDefinition) 55 is very important. The system will identify the first matching path for a given HTTP URL. It will not proceed to evaluate later paths if a match has already been found. Accordingly, the most specific paths should be registered first, with the most general paths registered last.

If no registered paths match the HTTP URL, null is returned.


Nested Class Summary
protected  class PathBasedFilterInvocationDefinitionMap.EntryHolder
           
 
Field Summary
private  boolean convertUrlToLowercaseBeforeComparison
           
private static org.apache.commons.logging.Log logger
           
private  org.springframework.util.PathMatcher pathMatcher
           
private  java.util.List requestMap
           
 
Constructor Summary
PathBasedFilterInvocationDefinitionMap()
           
 
Method Summary
 void addSecureUrl(java.lang.String antPath, ConfigAttributeDefinition attr)
           
 java.util.Iterator getConfigAttributeDefinitions()
          If available, all of the ConfigAttributeDefinitions defined by the implementing class.
 int getMapSize()
           
 boolean isConvertUrlToLowercaseBeforeComparison()
           
 ConfigAttributeDefinition lookupAttributes(java.lang.String url)
          Performs the actual lookup of the relevant ConfigAttributeDefinition for the specified FilterInvocation.
 void setConvertUrlToLowercaseBeforeComparison(boolean convertUrlToLowercaseBeforeComparison)
           
 
Methods inherited from class org.acegisecurity.intercept.web.AbstractFilterInvocationDefinitionSource
getAttributes, supports
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final org.apache.commons.logging.Log logger

requestMap

private java.util.List requestMap

convertUrlToLowercaseBeforeComparison

private boolean convertUrlToLowercaseBeforeComparison

pathMatcher

private org.springframework.util.PathMatcher pathMatcher
Constructor Detail

PathBasedFilterInvocationDefinitionMap

public PathBasedFilterInvocationDefinitionMap()
Method Detail

getConfigAttributeDefinitions

public java.util.Iterator getConfigAttributeDefinitions()
Description copied from interface: org.acegisecurity.intercept.ObjectDefinitionSource
If available, all of the ConfigAttributeDefinitions defined by the implementing class.

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

Specified by:
getConfigAttributeDefinitions in interface org.acegisecurity.intercept.ObjectDefinitionSource

setConvertUrlToLowercaseBeforeComparison

public void setConvertUrlToLowercaseBeforeComparison(boolean convertUrlToLowercaseBeforeComparison)
Specified by:
setConvertUrlToLowercaseBeforeComparison in interface FilterInvocationDefinitionMap

isConvertUrlToLowercaseBeforeComparison

public boolean isConvertUrlToLowercaseBeforeComparison()

getMapSize

public int getMapSize()

addSecureUrl

public void addSecureUrl(java.lang.String antPath,
                         ConfigAttributeDefinition attr)
Specified by:
addSecureUrl in interface FilterInvocationDefinitionMap

lookupAttributes

public ConfigAttributeDefinition lookupAttributes(java.lang.String url)
Description copied from class: AbstractFilterInvocationDefinitionSource
Performs the actual lookup of the relevant ConfigAttributeDefinition for the specified FilterInvocation.

Provided so subclasses need only to provide one basic method to properly interface with the FilterInvocationDefinitionSource.

Public visiblity so that tablibs or other view helper classes can access the ConfigAttributeDefinition applying to a given URI pattern without needing to construct a mock FilterInvocation and retrieving the attibutes via the AbstractFilterInvocationDefinitionSource.getAttributes(Object) 55 method.

Specified by:
lookupAttributes in class AbstractFilterInvocationDefinitionSource