public class UserManagerDelegator extends java.lang.Object implements UserManager
UserManager
delegates back to a
delegatee wrapping each call into a UserManager
closure.SEARCH_TYPE_AUTHORIZABLE, SEARCH_TYPE_GROUP, SEARCH_TYPE_USER
Constructor and Description |
---|
UserManagerDelegator(SessionDelegate sessionDelegate,
UserManager userManagerDelegate) |
Modifier and Type | Method and Description |
---|---|
void |
autoSave(boolean enable)
Changes the auto save behavior of this
UserManager . |
@NotNull Group |
createGroup(@NotNull java.security.Principal principal)
Creates a new
Group that is based on the given principal. |
@NotNull Group |
createGroup(@NotNull java.security.Principal principal,
@Nullable java.lang.String intermediatePath)
Same as
UserManager.createGroup(String, Principal, String) where the
name of the specified principal is used to create the group's ID. |
@NotNull Group |
createGroup(@NotNull java.lang.String groupID)
Creates a Group for the given groupID, which must not be
null . |
@NotNull Group |
createGroup(@NotNull java.lang.String groupID,
@NotNull java.security.Principal principal,
@Nullable java.lang.String intermediatePath)
Creates a new
Group that is based on the given id, principal
and the specified intermediatePath hint. |
@NotNull User |
createSystemUser(@NotNull java.lang.String userID,
@Nullable java.lang.String intermediatePath)
Create a new system user for the specified
userID . |
@NotNull User |
createUser(@NotNull java.lang.String userID,
@Nullable java.lang.String password)
Creates an User for the given userID / password pair; neither of the
specified parameters can be
null .Same as UserManager.createUser(String,String,Principal,String) where
the specified userID is equal to the principal name and the intermediate
path is null . |
@NotNull User |
createUser(@NotNull java.lang.String userID,
@Nullable java.lang.String password,
@NotNull java.security.Principal principal,
@Nullable java.lang.String intermediatePath)
Creates an User for the given parameters.
|
@NotNull java.util.Iterator<Authorizable> |
findAuthorizables(@NotNull Query query)
Return
Authorizable s that match a specific Query . |
@NotNull java.util.Iterator<Authorizable> |
findAuthorizables(@NotNull java.lang.String relPath,
@Nullable java.lang.String value)
Returns all
Authorizable s that have a
property with the given relative
path (or name) that matches the specified value. |
@NotNull java.util.Iterator<Authorizable> |
findAuthorizables(@NotNull java.lang.String relPath,
@Nullable java.lang.String value,
int searchType)
Returns all
Authorizable s that have a
property with the given relative
path (or name) that matches the specified value. |
@Nullable Authorizable |
getAuthorizable(@NotNull java.security.Principal principal)
Get the Authorizable by its Principal.
|
@Nullable Authorizable |
getAuthorizable(@NotNull java.lang.String id)
Get the Authorizable by its id.
|
<T extends Authorizable> |
getAuthorizable(@NotNull java.lang.String id,
@NotNull java.lang.Class<T> authorizableClass)
Get the Authorizable of a specific type by its id.
|
@Nullable Authorizable |
getAuthorizableByPath(@NotNull java.lang.String path)
In accordance to
Authorizable.getPath()
this method allows to retrieve an given authorizable by it's path. |
boolean |
isAutoSave()
If any write operations executed through the User API are automatically
persisted this method returns
true . |
public UserManagerDelegator(SessionDelegate sessionDelegate, UserManager userManagerDelegate)
@Nullable public @Nullable Authorizable getAuthorizable(@NotNull @NotNull java.lang.String id) throws RepositoryException
UserManager
getAuthorizable
in interface UserManager
id
- The user or group id.null
, if not present.RepositoryException
- If an error occurs.Authorizable.getID()
@Nullable public <T extends Authorizable> T getAuthorizable(@NotNull @NotNull java.lang.String id, @NotNull @NotNull java.lang.Class<T> authorizableClass) throws RepositoryException
UserManager
getAuthorizable
in interface UserManager
T
- the required Authorizable type.id
- the user or group id.authorizableClass
- the class of the type of Authorizable required; must not be null
.null
, if not present.AuthorizableTypeException
- If an authorizable exists but is not of the requested type.RepositoryException
- If an error occurs@Nullable public @Nullable Authorizable getAuthorizable(@NotNull @NotNull java.security.Principal principal) throws RepositoryException
UserManager
getAuthorizable
in interface UserManager
principal
- The principal of the authorizable to retrieve.null
, if not present.RepositoryException
- If an error occurs.@Nullable public @Nullable Authorizable getAuthorizableByPath(@NotNull @NotNull java.lang.String path) throws RepositoryException
UserManager
Authorizable.getPath()
this method allows to retrieve an given authorizable by it's path.getAuthorizableByPath
in interface UserManager
path
- The path to an authorizable.null
, if not present.UnsupportedRepositoryOperationException
- If this implementation does
support to retrieve authorizables by path.RepositoryException
- If another error occurs.Authorizable.getPath()
@NotNull public @NotNull java.util.Iterator<Authorizable> findAuthorizables(@NotNull @NotNull java.lang.String relPath, @Nullable @Nullable java.lang.String value) throws RepositoryException
UserManager
Authorizable
s that have a
property
with the given relative
path (or name) that matches the specified value.
If a relative path with more than one segment is specified only properties
exactly matching that patch will be returned. If, however, a name is
specified all properties that may be retrieved using
Authorizable.getProperty(String)
will be searched for a match.
findAuthorizables
in interface UserManager
relPath
- A relative property path or name.value
- A string value to match.Authorizable
s that have a property with the given
name exactly matching the given value.RepositoryException
- If an error occurs.Authorizable.getProperty(String)
@NotNull public @NotNull java.util.Iterator<Authorizable> findAuthorizables(@NotNull @NotNull java.lang.String relPath, @Nullable @Nullable java.lang.String value, int searchType) throws RepositoryException
UserManager
Authorizable
s that have a
property
with the given relative
path (or name) that matches the specified value. In contrast to
UserManager.findAuthorizables(String, String)
the type of authorizable is
respected while executing the search.
If a relative path with more than one segment is specified only properties
exactly matching that path will be returned. If, however, a name is
specified all properties that may be retrieved using
Authorizable.getProperty(String)
will be searched for a match.
findAuthorizables
in interface UserManager
relPath
- A relative property path or name.value
- A string value to match.searchType
- Any of the following constants:
Authorizable
.RepositoryException
- If an error occurs.@NotNull public @NotNull java.util.Iterator<Authorizable> findAuthorizables(@NotNull @NotNull Query query) throws RepositoryException
UserManager
Authorizable
s that match a specific Query
.findAuthorizables
in interface UserManager
query
- A queryquery
.RepositoryException
- If an error occurs.@NotNull public @NotNull User createUser(@NotNull @NotNull java.lang.String userID, @Nullable @Nullable java.lang.String password) throws RepositoryException
UserManager
null
.UserManager.createUser(String,String,Principal,String)
where
the specified userID is equal to the principal name and the intermediate
path is null
.createUser
in interface UserManager
userID
- The ID of the new user.password
- The initial password of this user.User
.AuthorizableExistsException
- in case the given userID is already
in use or another Authorizable with the same principal name exists.RepositoryException
- If another error occurs.@NotNull public @NotNull User createUser(@NotNull @NotNull java.lang.String userID, @Nullable @Nullable java.lang.String password, @NotNull @NotNull java.security.Principal principal, @Nullable @Nullable java.lang.String intermediatePath) throws RepositoryException
UserManager
intermediatePath
that parameter should
be ignored.
Except for the intermediatePath
, neither of the specified
parameters can be null
.createUser
in interface UserManager
userID
- The ID of the new user.password
- The initial password of the new user.principal
- The principal of the new user.intermediatePath
- An optional intermediate path used to create the
new user. If the intermediate path is null
an internal,
implementation specific structure will be used.User
.AuthorizableExistsException
- in case the given userID is already
in use or another Authorizable with the same principal name exists.RepositoryException
- If the current Session is
not allowed to create users or some another error occurs.@NotNull public @NotNull User createSystemUser(@NotNull @NotNull java.lang.String userID, @Nullable @Nullable java.lang.String intermediatePath) throws RepositoryException
UserManager
userID
. The new authorizable
is required to have the following characteristics:
User.isSystemUser()
returns true
.userID
.intermediatePath
.createSystemUser
in interface UserManager
userID
- A valid userID.intermediatePath
- An optional intermediate path to create the new
system user. The implemenation may decide to reject intermediate paths
if they violate an implementation specific requirement with respect to
the location where systems users are being held. If the intermediate path
is null
an internal implementation specific structure will be used.AuthorizableExistsException
- if an Authorizable with this id already exists.RepositoryException
- If another error occurs.@NotNull public @NotNull Group createGroup(@NotNull @NotNull java.lang.String groupID) throws RepositoryException
UserManager
null
.
UserManager.createGroup(String, Principal,String)
where the specified
groupID is the name of the Principal
the intermediate path
is null
.createGroup
in interface UserManager
groupID
- The ID of the new group; must not be null
.Group
.AuthorizableExistsException
- in case the given groupID is already
in use or another Authorizable
with the same
ID
or principal name already exists.RepositoryException
- If another error occurs.@NotNull public @NotNull Group createGroup(@NotNull @NotNull java.security.Principal principal) throws RepositoryException
UserManager
Group
that is based on the given principal.
Note that the group's ID is implementation specific. The implementation
may take the principal name as ID hint but must in any case assert that
it is unique among the IDs known to this manager.createGroup
in interface UserManager
principal
- A non-null Principal
Group
.AuthorizableExistsException
- in case the given principal is
already in use with another Authorizable.RepositoryException
- If another error occurs.@NotNull public @NotNull Group createGroup(@NotNull @NotNull java.security.Principal principal, @Nullable @Nullable java.lang.String intermediatePath) throws RepositoryException
UserManager
UserManager.createGroup(String, Principal, String)
where the
name of the specified principal is used to create the group's ID.createGroup
in interface UserManager
principal
- The principal associated with the new group.intermediatePath
- An optional intermediate path used to create the
new group. If the intermediate path is null
an internal,
implementation specific structure will be used.Group
.AuthorizableExistsException
- in case the given principal is
already in use with another Authorizable.RepositoryException
- If another error occurs.@NotNull public @NotNull Group createGroup(@NotNull @NotNull java.lang.String groupID, @NotNull @NotNull java.security.Principal principal, @Nullable @Nullable java.lang.String intermediatePath) throws RepositoryException
UserManager
Group
that is based on the given id, principal
and the specified intermediatePath
hint. If the implementation
is not able to deal with the intermediatePath
this parameter
should be ignored.createGroup
in interface UserManager
groupID
- The ID of the new group.principal
- The principal of the new group.intermediatePath
- An optional intermediate path used to create the
new group. If the intermediate path is null
an internal,
implementation specific structure will be used.Group
.AuthorizableExistsException
- in case the given principal is already
in use with another Authorizable.RepositoryException
- If another error occurs.public boolean isAutoSave()
UserManager
true
. In this case there are
no pending transient changes left and there is no need to explicitly call
Session.save()
. If this method returns false
any changes must be completed by an extra save call on the
Session
associated with this UserManager
.isAutoSave
in interface UserManager
true
if changes are automatically persisted;
false
if changes made through this API (including method
calls on Authorizable
and subclasses are only transient and
must be persisted using Session.save()
.UserManager.autoSave(boolean)
public void autoSave(boolean enable) throws RepositoryException
UserManager
UserManager
.
Note, that this shouldn't be allowed in cases where the associated session is different from the original session accessing the user manager.
autoSave
in interface UserManager
enable
- If true
changes made through this API will
be automatically saved; otherwise an explicit call to
Session.save()
is required in order to persist changes.UnsupportedRepositoryOperationException
- If the implementation
does not allow to change the auto save behavior.RepositoryException
- If some other error occurs.Copyright © 2012–2022 The Apache Software Foundation. All rights reserved.