Package org.springframework.security.acls.afterinvocation

# Class AbstractAclProvider

java.lang.Object
org.springframework.security.acls.afterinvocation.AbstractAclProvider

All Implemented Interfaces:
  `org.springframework.security.access.AfterInvocationProvider`

Direct Known Subclasses:
  `AclEntryAfterInvocationCollectionFilteringProvider`, `AclEntryAfterInvocationProvider`

public abstract class AbstractAclProvider extends Object implements org.springframework.security.access.AfterInvocationProvider
Abstract `AfterInvocationProvider` which provides commonly-used ACL-related services.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final AclService`
`aclService`
`protected ObjectIdentityRetrievalStrategy`
`objectIdentityRetrievalStrategy`
`protected String`
`processConfigAttribute`
`protected Class<?>`
`processDomainObjectClass`
`protected final List<Permission>`
`requirePermission`
`protected SidRetrievalStrategy`
`sidRetrievalStrategy`

## Constructor Summary

Constructors
Constructor
Description
`AbstractAclProvider(AclService aclService, String processConfigAttribute, List<Permission> requirePermission)`

## Method Summary

Modifier and Type
Method
Description
`protected Class<?>`
`getProcessDomainObjectClass()`
`protected boolean`
`hasPermission(org.springframework.security.core.Authentication authentication, Object domainObject)`
`void`
`setObjectIdentityRetrievalStrategy(ObjectIdentityRetrievalStrategy objectIdentityRetrievalStrategy)`
`protected void`
`setProcessConfigAttribute(String processConfigAttribute)`
`void`
`setProcessDomainObjectClass(Class<?> processDomainObjectClass)`
`void`
`setSidRetrievalStrategy(SidRetrievalStrategy sidRetrievalStrategy)`
`boolean`
`supports(Class<?> clazz)`
This implementation supports any type of class, because it does not query the presented secure object.
`boolean`
`supports(org.springframework.security.access.ConfigAttribute attribute)`

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

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

### Methods inherited from interface org.springframework.security.access.AfterInvocationProvider

`decide`

## Field Details

### aclService

protected final AclService aclService

### processConfigAttribute

protected String processConfigAttribute

### processDomainObjectClass

protected Class<?> processDomainObjectClass

### objectIdentityRetrievalStrategy

protected ObjectIdentityRetrievalStrategy objectIdentityRetrievalStrategy

### sidRetrievalStrategy

protected SidRetrievalStrategy sidRetrievalStrategy

### requirePermission

protected final List<Permission> requirePermission

## Constructor Details

### AbstractAclProvider

public AbstractAclProvider(AclService aclService, String processConfigAttribute, List<Permission> requirePermission)

## Method Details

### getProcessDomainObjectClass

protected Class<?> getProcessDomainObjectClass()

### hasPermission

protected boolean hasPermission(org.springframework.security.core.Authentication authentication, Object domainObject)

### setObjectIdentityRetrievalStrategy

public void setObjectIdentityRetrievalStrategy(ObjectIdentityRetrievalStrategy objectIdentityRetrievalStrategy)

### setProcessConfigAttribute

protected void setProcessConfigAttribute(String processConfigAttribute)

### setProcessDomainObjectClass

public void setProcessDomainObjectClass(Class<?> processDomainObjectClass)

### setSidRetrievalStrategy

public void setSidRetrievalStrategy(SidRetrievalStrategy sidRetrievalStrategy)

### supports

public boolean supports(org.springframework.security.access.ConfigAttribute attribute)

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

### supports

public boolean supports(Class<?> clazz)
This implementation supports any type of class, because it does not query the presented secure object.

Specified by:
  `supports` in interface `org.springframework.security.access.AfterInvocationProvider`
Parameters:
  `clazz` - the secure object
Returns:
  always `true`