Class CompositePrincipalProvider
- java.lang.Object
-
- org.apache.jackrabbit.oak.spi.security.principal.CompositePrincipalProvider
-
- All Implemented Interfaces:
PrincipalProvider
public class CompositePrincipalProvider extends java.lang.Object implements PrincipalProvider
PrincipalProviderimplementation that aggregates a list of principal providers into a single.
-
-
Constructor Summary
Constructors Constructor Description CompositePrincipalProvider(java.util.List<PrincipalProvider> providers)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull java.util.Iterator<? extends java.security.Principal>findPrincipals(int searchType)Find all principals that match the search type.@NotNull java.util.Iterator<? extends java.security.Principal>findPrincipals(@Nullable java.lang.String nameHint, boolean fullText, int searchType, long offset, long limit)Find the principals that match the specified nameHint and search type.@NotNull java.util.Iterator<java.security.Principal>findPrincipals(@Nullable java.lang.String nameHint, int searchType)Find the principals that match the specified nameHint and search type.@Nullable ItemBasedPrincipalgetItemBasedPrincipal(@NotNull java.lang.String principalOakPath)Returns theItemBasedPrincipalwith the specifiedprincipalOakPathornullif no principal with that path exists.@NotNull java.util.Set<java.security.Principal>getMembershipPrincipals(@NotNull java.security.Principal principal)Returns an iterator over all group principals for which the given principal is either direct or indirect member of.@Nullable java.security.PrincipalgetPrincipal(@NotNull java.lang.String principalName)Returns the principal with the specified name ornullif the principal does not exist.@NotNull java.util.Set<java.security.Principal>getPrincipals(@NotNull java.lang.String userID)Tries to resolve the specifieduserIDto a valid principal and it's group membership.static PrincipalProviderof(@NotNull java.util.List<PrincipalProvider> providers)
-
-
-
Constructor Detail
-
CompositePrincipalProvider
public CompositePrincipalProvider(java.util.List<PrincipalProvider> providers)
-
-
Method Detail
-
of
public static PrincipalProvider of(@NotNull @NotNull java.util.List<PrincipalProvider> providers)
-
getPrincipal
@Nullable public @Nullable java.security.Principal getPrincipal(@NotNull @NotNull java.lang.String principalName)Description copied from interface:PrincipalProviderReturns the principal with the specified name ornullif the principal does not exist.- Specified by:
getPrincipalin interfacePrincipalProvider- Parameters:
principalName- the name of the principal to retrieve- Returns:
- return the requested principal or
null
-
getItemBasedPrincipal
@Nullable public @Nullable ItemBasedPrincipal getItemBasedPrincipal(@NotNull @NotNull java.lang.String principalOakPath)
Description copied from interface:PrincipalProviderReturns theItemBasedPrincipalwith the specifiedprincipalOakPathornullif no principal with that path exists.- Specified by:
getItemBasedPrincipalin interfacePrincipalProvider- Parameters:
principalOakPath- the Oak path of theItemBasedPrincipalto retrieve- Returns:
- return the requested principal or
null
-
getMembershipPrincipals
@NotNull public @NotNull java.util.Set<java.security.Principal> getMembershipPrincipals(@NotNull @NotNull java.security.Principal principal)Description copied from interface:PrincipalProviderReturns an iterator over all group principals for which the given principal is either direct or indirect member of. Thus for any principal returned in the iteratorGroupPrincipal.isMember(Principal)must returntrue.Example:
If Principal is member of Group A, and Group A is member of Group B, this method will return Group A and Group B.- Specified by:
getMembershipPrincipalsin interfacePrincipalProvider- Parameters:
principal- the principal to return it's membership from.- Returns:
- an iterator returning all groups the given principal is member of.
- See Also:
GroupPrincipal.isMember(java.security.Principal)
-
getPrincipals
@NotNull public @NotNull java.util.Set<java.security.Principal> getPrincipals(@NotNull @NotNull java.lang.String userID)Description copied from interface:PrincipalProviderTries to resolve the specifieduserIDto a valid principal and it's group membership. This method returns an empty set if the specified ID cannot be resolved.- Specified by:
getPrincipalsin interfacePrincipalProvider- Parameters:
userID- A userID.- Returns:
- The set of principals associated with the specified
userIDor an empty set if it cannot be resolved.
-
findPrincipals
@NotNull public @NotNull java.util.Iterator<java.security.Principal> findPrincipals(@Nullable @Nullable java.lang.String nameHint, int searchType)Description copied from interface:PrincipalProviderFind the principals that match the specified nameHint and search type.- Specified by:
findPrincipalsin interfacePrincipalProvider- Parameters:
nameHint- A name hint to use for non-exact matching.searchType- Limit the search to certain types of principals. Valid values are any of- Returns:
- An iterator of principals.
-
findPrincipals
@NotNull public @NotNull java.util.Iterator<? extends java.security.Principal> findPrincipals(int searchType)
Description copied from interface:PrincipalProviderFind all principals that match the search type.- Specified by:
findPrincipalsin interfacePrincipalProvider- Parameters:
searchType- Limit the search to certain types of principals. Valid values are any of- Returns:
- An iterator of principals.
-
findPrincipals
@NotNull public @NotNull java.util.Iterator<? extends java.security.Principal> findPrincipals(@Nullable @Nullable java.lang.String nameHint, boolean fullText, int searchType, long offset, long limit)Description copied from interface:PrincipalProviderFind the principals that match the specified nameHint and search type.- Specified by:
findPrincipalsin interfacePrincipalProvider- Parameters:
nameHint- A name hint to use for non-exact matching.fullText- hint to use a full text query for searchsearchType- Limit the search to certain types of principals. Valid values are any ofoffset- Offset from where to start returning results.0for no offset.limit- Maximal number of results to return. -1 for no limit.- Returns:
- An iterator of principals.
-
-