Class JdbcAclService
- All Implemented Interfaces:
AclService
- Direct Known Subclasses:
JdbcMutableAclService
AclService.
Requires the "dirty" flags in AclImpl
and AccessControlEntryImpl to be set,
so that the implementation can detect changed parameters easily.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.springframework.jdbc.core.JdbcOperationsprotected static final org.apache.commons.logging.Log -
Constructor Summary
ConstructorsConstructorDescriptionJdbcAclService(DataSource dataSource, LookupStrategy lookupStrategy) JdbcAclService(org.springframework.jdbc.core.JdbcOperations jdbcOperations, LookupStrategy lookupStrategy) -
Method Summary
Modifier and TypeMethodDescriptionfindChildren(ObjectIdentity parentIdentity) Locates all object identities that use the specified parent.protected booleanreadAclById(ObjectIdentity object) Same asAclService.readAclsById(List)except it returns only a single Acl.readAclById(ObjectIdentity object, List<Sid> sids) Same asAclService.readAclsById(List, List)except it returns only a single Acl.readAclsById(List<ObjectIdentity> objects) Obtains all the Acls that apply for the passed Objects.readAclsById(List<ObjectIdentity> objects, List<Sid> sids) Obtains all the Acls that apply for the passed Objects, but only for the security identifies passed.voidsetAclClassIdSupported(boolean aclClassIdSupported) voidsetConversionService(org.springframework.core.convert.ConversionService conversionService) voidsetFindChildrenQuery(String findChildrenSql) Allows customization of the SQL query used to find child object identities.voidsetObjectIdentityGenerator(ObjectIdentityGenerator objectIdentityGenerator)
-
Field Details
-
log
protected static final org.apache.commons.logging.Log log -
jdbcOperations
protected final org.springframework.jdbc.core.JdbcOperations jdbcOperations
-
-
Constructor Details
-
JdbcAclService
-
JdbcAclService
public JdbcAclService(org.springframework.jdbc.core.JdbcOperations jdbcOperations, LookupStrategy lookupStrategy)
-
-
Method Details
-
findChildren
Description copied from interface:AclServiceLocates all object identities that use the specified parent. This is useful for administration tools.- Specified by:
findChildrenin interfaceAclService- Parameters:
parentIdentity- to locate children of- Returns:
- the children (or null if none were found)
-
readAclById
Description copied from interface:AclServiceSame asAclService.readAclsById(List, List)except it returns only a single Acl.- Specified by:
readAclByIdin interfaceAclService- Parameters:
object- to locate anAclforsids- the security identities for whichAclinformation is required (may be null to denote all entries)- Returns:
- the
Aclfor the requestedObjectIdentity(never null) - Throws:
NotFoundException- if anAclwas not found for the requestedObjectIdentity
-
readAclById
Description copied from interface:AclServiceSame asAclService.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
Sidparameter.- Specified by:
readAclByIdin interfaceAclService- Parameters:
object- to locate anAclfor- Returns:
- the
Aclfor the requestedObjectIdentity(never null) - Throws:
NotFoundException- if anAclwas not found for the requestedObjectIdentity
-
readAclsById
Description copied from interface:AclServiceObtains 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.
- Specified by:
readAclsByIdin interfaceAclService- Parameters:
objects- the objects to findAclinformation for- Returns:
- a map with exactly one element for each
ObjectIdentitypassed as an argument (never null) - Throws:
NotFoundException- if anAclwas not found for each requestedObjectIdentity
-
readAclsById
public Map<ObjectIdentity,Acl> readAclsById(List<ObjectIdentity> objects, List<Sid> sids) throws NotFoundException Description copied from interface:AclServiceObtains 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.
- Specified by:
readAclsByIdin interfaceAclService- Parameters:
objects- the objects to findAclinformation forsids- the security identities for whichAclinformation is required (may be null to denote all entries)- Returns:
- a map with exactly one element for each
ObjectIdentitypassed as an argument (never null) - Throws:
NotFoundException- if anAclwas not found for each requestedObjectIdentity
-
setFindChildrenQuery
Allows customization of the SQL query used to find child object identities.- Parameters:
findChildrenSql-
-
setAclClassIdSupported
public void setAclClassIdSupported(boolean aclClassIdSupported) -
setConversionService
public void setConversionService(org.springframework.core.convert.ConversionService conversionService) -
setObjectIdentityGenerator
-
isAclClassIdSupported
protected boolean isAclClassIdSupported()
-