Class DefaultPrincipalProvider

  • All Implemented Interfaces:
    EventListener, SynchronousEventListener, PrincipalProvider

    public class DefaultPrincipalProvider
    extends AbstractPrincipalProvider
    implements SynchronousEventListener
    Provides principals for the users contained within the Repository.

    Each Authorizable accessible via UserManager is respected and the provider serves Principals retrieved from those Authorizable objects.

    In addition this provider exposes the everyone principal, which has no content (user/group) representation.

    Unless explicitly configured (see negative entry option this implementation of the PrincipalProvider interface caches both positive and negative (null) results of the providePrincipal(java.lang.String) method. The cache is kept up to date by observation listening to creation and removal of users and groups.

    Membership cache:
    In addition to the caching provided by AbstractPrincipalProvider this implementation keeps an extra membership cache, which is notified in case of changes made to the members of any group.