public final class BasicLookupStrategy extends Object implements LookupStrategy
NB: This implementation does attempt to provide
reasonably optimised lookups - within the constraints of a normalised database and standard ANSI SQL features. If
you are willing to sacrifice either of these constraints (eg use a particular database feature such as hierarchical
queries or materalized views, or reduce normalisation) you are likely to achieve better performance. In such
situations you will need to provide your own custom LookupStrategy
. This class does not support
subclassing, as it is likely to change in future releases and therefore subclassing is unsupported.
Constructor and Description |
---|
BasicLookupStrategy(DataSource dataSource,
AclCache aclCache,
AclAuthorizationStrategy aclAuthorizationStrategy,
AuditLogger auditLogger)
Constructor accepting mandatory arguments
|
Modifier and Type | Method and Description |
---|---|
Map |
readAclsById(ObjectIdentity[] objects,
Sid[] sids)
The main method.
|
void |
setBatchSize(int batchSize) |
public BasicLookupStrategy(DataSource dataSource, AclCache aclCache, AclAuthorizationStrategy aclAuthorizationStrategy, AuditLogger auditLogger)
dataSource
- to access the databaseaclCache
- the cache where fully-loaded elements can be storedaclAuthorizationStrategy
- authorization strategy (required)public Map readAclsById(ObjectIdentity[] objects, Sid[] sids) throws NotFoundException
WARNING: This implementation completely disregards the "sids" parameter! Every item
in the cache is expected to contain all SIDs. If you have serious performance needs (eg a very large number of
SIDs per object identity), you'll probably want to develop a custom LookupStrategy
implementation
instead.
The implementation works in batch sizes specfied by batchSize
.
readAclsById
in interface LookupStrategy
objects
- DOCUMENT ME!sids
- DOCUMENT ME!NotFoundException
- DOCUMENT ME!IllegalStateException
- DOCUMENT ME!public void setBatchSize(int batchSize)
Copyright © 2014. All rights reserved.