public abstract class AbstractPrincipalProvider extends Object implements PrincipalProvider
Principals from their source, the caching of the principals is done
by this implementation.
The PrincipalProvider methods that that involve searching like
PrincipalProvider.getGroupMembership(Principal) are not cached.
| Modifier and Type | Field and Description |
|---|---|
static String |
MAXSIZE_KEY
Option name for the max size of the cache to use
|
static String |
NEGATIVE_ENTRY_KEY
Option name to enable negative cache entries (see JCR-2672)
|
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractPrincipalProvider()
Create a new instance of
AbstractPrincipalProvider. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addToCache(Principal principal)
Add an entry to the principal cache.
|
protected void |
checkInitialized()
Check if the instance has been closed
close(). |
protected void |
clearCache()
Clear the principal cache.
|
void |
close()
Clears the cache and calls the implementation to close their resources
|
Principal |
getPrincipal(String principalName)
Returns the principal with the given name if is known to this provider
|
void |
init(Properties options)
Initialize this provider.
|
protected abstract Principal |
providePrincipal(String principalName)
Called if the cache does not contain the principal requested.
Implementations should return a Principal from their source,
if it contains one for the given name or null. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcanReadPrincipal, findPrincipals, findPrincipals, getGroupMembership, getPrincipalspublic static final String MAXSIZE_KEY
public static final String NEGATIVE_ENTRY_KEY
protected AbstractPrincipalProvider()
AbstractPrincipalProvider.
Initialization and cache are set up upon init(Properties)protected void checkInitialized()
close().IllegalStateException - if this instance was closed.protected void clearCache()
protected void addToCache(Principal principal)
principal - to be cached.protected abstract Principal providePrincipal(String principalName)
Principal from their source,
if it contains one for the given name or null.principalName - Name of the principal to be returned.getPrincipal(String)public Principal getPrincipal(String principalName)
providePrincipal(String) is called, if no matching entry
is present in the cache.NEGATIVE_ENTRY_KEY configuration option), the cache will also
store negative matches (as null values) in the principal cache.getPrincipal in interface PrincipalProviderprincipalName - the name of the principal to retrievenullpublic void init(Properties options)
PrincipalProviderinit in interface PrincipalProvideroptions - the options that are setPrincipalProvider.init(java.util.Properties)public void close()
close in interface PrincipalProviderPrincipalProvider.close()Copyright © 2004–2024 The Apache Software Foundation. All rights reserved.