Package org.springframework.security.acls.model

# Interface AclService

All Known Subinterfaces:
  `MutableAclService`

All Known Implementing Classes:
  `JdbcAclService`, `JdbcMutableAclService`

public interface AclService
Provides retrieval of `Acl` instances.

## Method Summary

Modifier and Type
Method
Description
`List<ObjectIdentity>`
`findChildren(ObjectIdentity parentIdentity)`
Locates all object identities that use the specified parent.
`Acl`
`readAclById(ObjectIdentity object)`
Same as `readAclsById(List)` except it returns only a single Acl.
`Acl`
`readAclById(ObjectIdentity object, List<Sid> sids)`
Same as `readAclsById(List, List)` except it returns only a single Acl.
`Map<ObjectIdentity,Acl>`
`readAclsById(List<ObjectIdentity> objects)`
Obtains all the `Acl`s that apply for the passed `Object`s.
`Map<ObjectIdentity,Acl>`
`readAclsById(List<ObjectIdentity> objects, List<Sid> sids)`
Obtains all the `Acl`s that apply for the passed `Object`s, but only for the security identifies passed.

## Method Details

### findChildren

List<ObjectIdentity> findChildren(ObjectIdentity parentIdentity)
Locates all object identities that use the specified parent. This is useful for administration tools.

Parameters:
  `parentIdentity` - to locate children of
Returns:
  the children (or `null` if none were found)

### readAclById

Acl readAclById(ObjectIdentity object) throws NotFoundException
Same as `readAclsById(List)` except it returns only a single Acl.

This method should not be called as it does not leverage the underlying implementation's potential ability to filter `Acl` entries based on a `Sid` parameter.

Parameters:
  `object` - to locate an `Acl` for
Returns:
  the `Acl` for the requested `ObjectIdentity` (never `null`)
Throws:
  `NotFoundException` - if an `Acl` was not found for the requested `ObjectIdentity`

### readAclById

Acl readAclById(ObjectIdentity object, List<Sid> sids) throws NotFoundException
Same as `readAclsById(List, List)` except it returns only a single Acl.

Parameters:
  `object` - to locate an `Acl` for
  `sids` - the security identities for which `Acl` information is required (may be `null` to denote all entries)
Returns:
  the `Acl` for the requested `ObjectIdentity` (never `null`)
Throws:
  `NotFoundException` - if an `Acl` was not found for the requested `ObjectIdentity`

### readAclsById

Map<ObjectIdentity,Acl> readAclsById(List<ObjectIdentity> objects) throws NotFoundException
Obtains all the `Acl`s that apply for the passed `Object`s.

The returned map is keyed on the passed objects, with the values being the `Acl` instances. Any unknown objects will not have a map key.

Parameters:
  `objects` - the objects to find `Acl` information for
Returns:
  a map with exactly one element for each `ObjectIdentity` passed as an argument (never `null`)
Throws:
  `NotFoundException` - if an `Acl` was not found for each requested `ObjectIdentity`

### readAclsById

Map<ObjectIdentity,Acl> readAclsById(List<ObjectIdentity> objects, List<Sid> sids) throws NotFoundException
Obtains all the `Acl`s that apply for the passed `Object`s, but only for the security identifies passed.

Implementations MAY provide a subset of the ACLs via this method although this is NOT a requirement. This is intended to allow performance optimisations within implementations. Callers should therefore use this method in preference to the alternative overloaded version which does not have performance optimisation opportunities.

The returned map is keyed on the passed objects, with the values being the `Acl` instances. Any unknown objects (or objects for which the interested `Sid`s do not have entries) will not have a map key.

Parameters:
  `objects` - the objects to find `Acl` information for
  `sids` - the security identities for which `Acl` information is required (may be `null` to denote all entries)
Returns:
  a map with exactly one element for each `ObjectIdentity` passed as an argument (never `null`)
Throws:
  `NotFoundException` - if an `Acl` was not found for each requested `ObjectIdentity`