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 Classes Modifier and Type Class Description protected static interfaceAuthorizableResourceProvider.AuthorizableWorker<T>Interface for lambda expressions to do work on a resolved authorizable + optional relative pathstatic interfaceAuthorizableResourceProvider.Configprotected static interfaceAuthorizableResourceProvider.PrincipalWorker<T>Interface for lambda expressions to do work on a resolved principal
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_SYSTEM_USER_MANAGER_PATHstatic StringSYSTEM_USER_MANAGER_GROUP_PATHDeprecated.no longer used.static StringSYSTEM_USER_MANAGER_GROUP_PREFIXDeprecated.no longer used.static StringSYSTEM_USER_MANAGER_PATHDeprecated.no longer used.static StringSYSTEM_USER_MANAGER_USER_PATHDeprecated.no longer used.static StringSYSTEM_USER_MANAGER_USER_PREFIXDeprecated.no longer used.-
Fields inherited from class org.apache.sling.spi.resource.provider.ResourceProvider
AUTH_ADMIN, AUTH_CLONE, AUTH_SERVICE_BUNDLE, AUTHENTICATE_LAZY, AUTHENTICATE_NO, AUTHENTICATE_REQUIRED, PROPERTY_ADAPTABLE, PROPERTY_ATTRIBUTABLE, PROPERTY_AUTHENTICATE, PROPERTY_MODIFIABLE, PROPERTY_NAME, PROPERTY_REFRESHABLE, PROPERTY_ROOT, PROPERTY_USE_RESOURCE_ACCESS_SECURITY, RESOURCE_TYPE_SYNTHETIC
-
-
Constructor Summary
Constructors Constructor Description AuthorizableResourceProvider()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidactivate(AuthorizableResourceProvider.Config config)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 containersStringgetGroupPrefix()The path prefix (before the id) for groupsStringgetGroupsPath()The root path for all group resourcesprotected static Iterator<String>getPropertyNames(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)StringgetRootPath()The root path for usermanager resourcesStringgetUserPrefix()The path prefix (before the id) for usersStringgetUsersPath()The 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 Detail
-
DEFAULT_SYSTEM_USER_MANAGER_PATH
public static final String DEFAULT_SYSTEM_USER_MANAGER_PATH
- See Also:
- Constant Field Values
-
SYSTEM_USER_MANAGER_PATH
@Deprecated public static final String SYSTEM_USER_MANAGER_PATH
Deprecated.no longer used. UseSystemUserManagerPathsservice instead.- See Also:
- Constant Field Values
-
SYSTEM_USER_MANAGER_USER_PATH
@Deprecated public static final String SYSTEM_USER_MANAGER_USER_PATH
Deprecated.no longer used. UseSystemUserManagerPathsservice instead.- See Also:
- Constant Field Values
-
SYSTEM_USER_MANAGER_GROUP_PATH
@Deprecated public static final String SYSTEM_USER_MANAGER_GROUP_PATH
Deprecated.no longer used. UseSystemUserManagerPathsservice instead.- See Also:
- Constant Field Values
-
SYSTEM_USER_MANAGER_USER_PREFIX
@Deprecated public static final String SYSTEM_USER_MANAGER_USER_PREFIX
Deprecated.no longer used. UseSystemUserManagerPathsservice instead.- See Also:
- Constant Field Values
-
SYSTEM_USER_MANAGER_GROUP_PREFIX
@Deprecated public static final String SYSTEM_USER_MANAGER_GROUP_PREFIX
Deprecated.no longer used. UseSystemUserManagerPathsservice instead.- See Also:
- Constant Field Values
-
-
Method Detail
-
activate
protected void activate(AuthorizableResourceProvider.Config config)
-
getRootPath
public String getRootPath()
Description copied from interface:SystemUserManagerPathsThe root path for usermanager resources- Specified by:
getRootPathin interfaceSystemUserManagerPaths
-
getUsersPath
public String getUsersPath()
Description copied from interface:SystemUserManagerPathsThe root path for all user resources- Specified by:
getUsersPathin interfaceSystemUserManagerPaths
-
getUserPrefix
public String getUserPrefix()
Description copied from interface:SystemUserManagerPathsThe path prefix (before the id) for users- Specified by:
getUserPrefixin interfaceSystemUserManagerPaths
-
getGroupsPath
public String getGroupsPath()
Description copied from interface:SystemUserManagerPathsThe root path for all group resources- Specified by:
getGroupsPathin interfaceSystemUserManagerPaths
-
getGroupPrefix
public String 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
protected static Iterator<String> getPropertyNames(String relPath, org.apache.jackrabbit.api.security.user.Authorizable authorizable)
-
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
-
-