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.

Version:
$Id: AclService.java 3651 2009-05-11 05:20:09Z ltaylor $
Author:
Ben Alex

Method Summary
 List<ObjectIdentity> findChildren(ObjectIdentity parentIdentity)
          Locates all object identities that use the specified parent.
 Acl readAclById(ObjectIdentity object)
          Same as #readAclsById(Java.util.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 Acls that apply for the passed Objects.
 Map<ObjectIdentity,Acl> readAclsById(List<ObjectIdentity> objects, List<Sid> sids)
          Obtains all the Acls that apply for the passed Objects, but only for the security identifies passed.
 

Method Detail

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(Java.util.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 Acls that apply for the passed Objects.

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 Acls that apply for the passed Objects, 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 Sids 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


Copyright © 2004-2009 SpringSource, Inc. All Rights Reserved.