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 interface
AuthorizableResourceProvider.AuthorizableWorker<T>
Interface for lambda expressions to do work on a resolved authorizable + optional relative pathstatic interface
AuthorizableResourceProvider.Config
protected static interface
AuthorizableResourceProvider.PrincipalWorker<T>
Interface for lambda expressions to do work on a resolved principal
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SYSTEM_USER_MANAGER_PATH
static String
SYSTEM_USER_MANAGER_GROUP_PATH
Deprecated.no longer used.static String
SYSTEM_USER_MANAGER_GROUP_PREFIX
Deprecated.no longer used.static String
SYSTEM_USER_MANAGER_PATH
Deprecated.no longer used.static String
SYSTEM_USER_MANAGER_USER_PATH
Deprecated.no longer used.static String
SYSTEM_USER_MANAGER_USER_PREFIX
Deprecated.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 void
activate(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 containersString
getGroupPrefix()
The path prefix (before the id) for groupsString
getGroupsPath()
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.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)
String
getRootPath()
The root path for usermanager resourcesString
getUserPrefix()
The path prefix (before the id) for usersString
getUsersPath()
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> T
maybeDoAuthorizableWork(@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. UseSystemUserManagerPaths
service 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. UseSystemUserManagerPaths
service 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. UseSystemUserManagerPaths
service 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. UseSystemUserManagerPaths
service 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. UseSystemUserManagerPaths
service instead.- See Also:
- Constant Field Values
-
-
Method Detail
-
activate
protected void activate(AuthorizableResourceProvider.Config config)
-
getRootPath
public String getRootPath()
Description copied from interface:SystemUserManagerPaths
The root path for usermanager resources- Specified by:
getRootPath
in interfaceSystemUserManagerPaths
-
getUsersPath
public String getUsersPath()
Description copied from interface:SystemUserManagerPaths
The root path for all user resources- Specified by:
getUsersPath
in interfaceSystemUserManagerPaths
-
getUserPrefix
public String getUserPrefix()
Description copied from interface:SystemUserManagerPaths
The path prefix (before the id) for users- Specified by:
getUserPrefix
in interfaceSystemUserManagerPaths
-
getGroupsPath
public String getGroupsPath()
Description copied from interface:SystemUserManagerPaths
The root path for all group resources- Specified by:
getGroupsPath
in interfaceSystemUserManagerPaths
-
getGroupPrefix
public String getGroupPrefix()
Description copied from interface:SystemUserManagerPaths
The path prefix (before the id) for groups- Specified by:
getGroupPrefix
in 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:
getResource
in 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:
listChildren
in 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
-
-