Class AuthorizableResourceProvider
java.lang.Object
org.apache.sling.spi.resource.provider.ResourceProvider<Object>
org.apache.sling.jackrabbit.usermanager.impl.resource.AuthorizableResourceProvider
- All Implemented Interfaces:
SystemUserManagerPaths
public class AuthorizableResourceProvider
extends org.apache.sling.spi.resource.provider.ResourceProvider<Object>
implements SystemUserManagerPaths
Resource Provider implementation for jackrabbit UserManager resources.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interfaceInterface for lambda expressions to do work on a resolved authorizable + optional relative pathstatic @interfaceprotected static interfaceInterface for lambda expressions to do work on a resolved principal -
Field Summary
FieldsFields inherited from class org.apache.sling.spi.resource.provider.ResourceProvider
AUTH_ADMIN, AUTH_CLONE, AUTH_SERVICE_BUNDLE, AUTHENTICATE_LAZY, AUTHENTICATE_NO, AUTHENTICATE_REQUIRED, MODE_OVERLAY, MODE_PASSTHROUGH, PROPERTY_ADAPTABLE, PROPERTY_ATTRIBUTABLE, PROPERTY_AUTHENTICATE, PROPERTY_MODE, PROPERTY_MODIFIABLE, PROPERTY_NAME, PROPERTY_REFRESHABLE, PROPERTY_ROOT, PROPERTY_USE_RESOURCE_ACCESS_SECURITY, RESOURCE_TYPE_SYNTHETIC -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected List<org.apache.sling.api.resource.Resource>filterPropertyContainers(String relPath, org.apache.jackrabbit.api.security.user.Authorizable authorizable, org.apache.sling.api.resource.Resource r) Filter the resource children to return only the resources that are nested property containersThe path prefix (before the id) for groupsThe root path for all group resourcesgetPropertyNames(String relPath, org.apache.jackrabbit.api.security.user.Authorizable authorizable) org.apache.sling.api.resource.ResourcegetResource(org.apache.sling.spi.resource.provider.ResolveContext<Object> ctx, String path, org.apache.sling.spi.resource.provider.ResourceContext resourceContext, org.apache.sling.api.resource.Resource parent) The root path for usermanager resourcesThe path prefix (before the id) for usersThe root path for all user resourcesIterator<org.apache.sling.api.resource.Resource>listChildren(org.apache.sling.spi.resource.provider.ResolveContext<Object> ctx, org.apache.sling.api.resource.Resource parent) protected <T> TmaybeDoAuthorizableWork(@NotNull org.apache.sling.spi.resource.provider.ResolveContext<Object> ctx, @NotNull String path, @NotNull AuthorizableResourceProvider.AuthorizableWorker<T> authorizableWorker, @Nullable AuthorizableResourceProvider.PrincipalWorker<T> principalWorker) If the path resolves to a user or group (with optional relPath suffix) then invoke the worker to do some work.Methods inherited from class org.apache.sling.spi.resource.provider.ResourceProvider
adaptTo, authenticate, commit, copy, create, delete, getAttribute, getAttributeNames, getParent, getProviderContext, getQueryLanguageProvider, hasChanges, isLive, logout, move, orderBefore, refresh, revert, start, stop, update
-
Field Details
-
DEFAULT_SYSTEM_USER_MANAGER_PATH
- See Also:
-
-
Constructor Details
-
AuthorizableResourceProvider
public AuthorizableResourceProvider()
-
-
Method Details
-
activate
-
getRootPath
Description copied from interface:SystemUserManagerPathsThe root path for usermanager resources- Specified by:
getRootPathin interfaceSystemUserManagerPaths
-
getUsersPath
Description copied from interface:SystemUserManagerPathsThe root path for all user resources- Specified by:
getUsersPathin interfaceSystemUserManagerPaths
-
getUserPrefix
Description copied from interface:SystemUserManagerPathsThe path prefix (before the id) for users- Specified by:
getUserPrefixin interfaceSystemUserManagerPaths
-
getGroupsPath
Description copied from interface:SystemUserManagerPathsThe root path for all group resources- Specified by:
getGroupsPathin interfaceSystemUserManagerPaths
-
getGroupPrefix
Description copied from interface:SystemUserManagerPathsThe path prefix (before the id) for groups- Specified by:
getGroupPrefixin interfaceSystemUserManagerPaths
-
getResource
public org.apache.sling.api.resource.Resource getResource(org.apache.sling.spi.resource.provider.ResolveContext<Object> ctx, String path, org.apache.sling.spi.resource.provider.ResourceContext resourceContext, org.apache.sling.api.resource.Resource parent) - Specified by:
getResourcein classorg.apache.sling.spi.resource.provider.ResourceProvider<Object>
-
maybeDoAuthorizableWork
protected <T> T maybeDoAuthorizableWork(@NotNull @NotNull org.apache.sling.spi.resource.provider.ResolveContext<Object> ctx, @NotNull @NotNull String path, @NotNull @NotNull AuthorizableResourceProvider.AuthorizableWorker<T> authorizableWorker, @Nullable @Nullable AuthorizableResourceProvider.PrincipalWorker<T> principalWorker) If the path resolves to a user or group (with optional relPath suffix) then invoke the worker to do some work. -
getPropertyNames
-
listChildren
public Iterator<org.apache.sling.api.resource.Resource> listChildren(org.apache.sling.spi.resource.provider.ResolveContext<Object> ctx, org.apache.sling.api.resource.Resource parent) - Specified by:
listChildrenin classorg.apache.sling.spi.resource.provider.ResourceProvider<Object>
-
filterPropertyContainers
protected List<org.apache.sling.api.resource.Resource> filterPropertyContainers(String relPath, org.apache.jackrabbit.api.security.user.Authorizable authorizable, org.apache.sling.api.resource.Resource r) Filter the resource children to return only the resources that are nested property containers- Parameters:
relPath- the relative path to start fromauthorizable- the user or groupr- the resource to filter the children of- Returns:
- list of resources that are property containers
-