Interface PasswordModifyExtendedRequest
-
- All Superinterfaces:
ExtendedRequest<PasswordModifyExtendedResult>
,ProtocolOp
,Request
public interface PasswordModifyExtendedRequest extends ExtendedRequest<PasswordModifyExtendedResult>
The password modify extended request as defined in RFC 3062. This operation allows directory clients to update user passwords. The user may or may not be associated with a directory entry. The user may or may not be represented as an LDAP DN. The user's password may or may not be stored in the directory. In addition, it includes support for requiring the user's current password as well as for generating a new password if none was provided.String userIdentity = ...; // For example, "u:<uid>" or "dn:<DN>" char[] oldPassword = ...; char[] newPassword = ...; Connection connection = ...; PasswordModifyExtendedRequest request = Requests.newPasswordModifyExtendedRequest() .setUserIdentity(userIdentity) .setOldPassword(oldPassword) .setNewPassword(newPassword); PasswordModifyExtendedResult result = connection.extendedRequest(request); if (result.isSuccess()) { // Changed password } else { // Use result to diagnose error. }
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.forgerock.opendj.ldap.messages.Request
Request.RequestType
-
-
Field Summary
Fields Modifier and Type Field Description static ExtendedRequestDecoder<PasswordModifyExtendedRequest,PasswordModifyExtendedResult>
DECODER
A decoder which can be used to decode password modify extended operation requests.static String
OID
The OID for the password modify extended operation request.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PasswordModifyExtendedRequest
addControl(Control control)
Adds the provided control to this protocol-op.PasswordModifyExtendedRequest
addControls(Iterable<? extends Control> controls)
Adds the provided controls to this protocol-op.<C extends Control>
CgetControl(ControlDecoder<C> decoder, DecodeOptions options)
Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.List<Control>
getControls()
Returns aList
containing the controls included with this protocol-op.byte[]
getNewPassword()
Returns the desired password for the user, ornull
if a new password should be generated.String
getOid()
Returns the numeric OID associated with this extended request.byte[]
getOldPassword()
Returns the current password for the user, if known.ExtendedResultDecoder<PasswordModifyExtendedResult>
getResultDecoder()
Returns a decoder which can be used to decoded responses to this extended request.ByteString
getUserIdentity()
Returns the identity of the user whose password is to be modified, ornull
if the request should be applied to the user currently associated with the session.String
getUserIdentityAsString()
Returns the identity of the user whose password is to be modified decoded as a UTF-8 string, ornull
if the request should be applied to the user currently associated with the session.ByteString
getValue()
Returns the value, if any, associated with this extended request.boolean
hasValue()
Returnstrue
if this extended request has a value.PasswordModifyExtendedRequest
setNewPassword(byte[] newPassword)
Sets the desired password for the user.PasswordModifyExtendedRequest
setNewPassword(char[] newPassword)
Sets the desired password for the user.PasswordModifyExtendedRequest
setOldPassword(byte[] oldPassword)
Sets the current password for the user.PasswordModifyExtendedRequest
setOldPassword(char[] oldPassword)
Sets the current password for the user.PasswordModifyExtendedRequest
setUserIdentity(Object userIdentity)
Sets the identity of the user whose password is to be modified.-
Methods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
-
-
-
Field Detail
-
DECODER
static final ExtendedRequestDecoder<PasswordModifyExtendedRequest,PasswordModifyExtendedResult> DECODER
A decoder which can be used to decode password modify extended operation requests.
-
OID
static final String OID
The OID for the password modify extended operation request.- See Also:
- Constant Field Values
-
-
Method Detail
-
addControl
PasswordModifyExtendedRequest addControl(Control control)
Description copied from interface:ProtocolOp
Adds the provided control to this protocol-op.- Specified by:
addControl
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Specified by:
addControl
in interfaceProtocolOp
- Specified by:
addControl
in interfaceRequest
- Parameters:
control
- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
PasswordModifyExtendedRequest addControls(Iterable<? extends Control> controls)
Description copied from interface:ProtocolOp
Adds the provided controls to this protocol-op.- Specified by:
addControls
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Specified by:
addControls
in interfaceProtocolOp
- Specified by:
addControls
in interfaceRequest
- Parameters:
controls
- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
getControl
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
Description copied from interface:ProtocolOp
Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControl
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Specified by:
getControl
in interfaceProtocolOp
- Type Parameters:
C
- The type of control to be decoded and returned.- Parameters:
decoder
- The control decoder.options
- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
null
if the control is not included with this protocol-op. - Throws:
DecodeException
- If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
-
getControls
List<Control> getControls()
Description copied from interface:ProtocolOp
Returns aList
containing the controls included with this protocol-op. The returnedList
may be modified if permitted by this protocol-op.- Specified by:
getControls
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Specified by:
getControls
in interfaceProtocolOp
- Returns:
- A
List
containing the controls.
-
getNewPassword
byte[] getNewPassword()
Returns the desired password for the user, ornull
if a new password should be generated.- Returns:
- The desired password for the user, or
null
if a new password should be generated.
-
getOid
String getOid()
Description copied from interface:ExtendedRequest
Returns the numeric OID associated with this extended request.- Specified by:
getOid
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Returns:
- The numeric OID associated with this extended request.
-
getOldPassword
byte[] getOldPassword()
Returns the current password for the user, if known.- Returns:
- The current password for the user, or
null
if the password is not known.
-
getResultDecoder
ExtendedResultDecoder<PasswordModifyExtendedResult> getResultDecoder()
Description copied from interface:ExtendedRequest
Returns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoder
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getUserIdentity
ByteString getUserIdentity()
Returns the identity of the user whose password is to be modified, ornull
if the request should be applied to the user currently associated with the session. The returned identity may or may not be a distinguished name.- Returns:
- The identity of the user whose password is to be modified, or
null
if the request should be applied to the user currently associated with the session.
-
getUserIdentityAsString
String getUserIdentityAsString()
Returns the identity of the user whose password is to be modified decoded as a UTF-8 string, ornull
if the request should be applied to the user currently associated with the session. The returned identity may or may not be a distinguished name.- Returns:
- The identity of the user whose password is to be modified decoded
as a UTF-8 string, or
null
if the request should be applied to the user currently associated with the session.
-
getValue
ByteString getValue()
Description copied from interface:ExtendedRequest
Returns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValue
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Returns:
- The value associated with this extended request, or
null
if there is no value.
-
hasValue
boolean hasValue()
Description copied from interface:ExtendedRequest
Returnstrue
if this extended request has a value. In some circumstances it may be useful to determine if a extended request has a value, without actually calculating the value and incurring any performance costs.- Specified by:
hasValue
in interfaceExtendedRequest<PasswordModifyExtendedResult>
- Returns:
true
if this extended request has a value, orfalse
if there is no value.
-
setNewPassword
PasswordModifyExtendedRequest setNewPassword(byte[] newPassword)
Sets the desired password for the user.- Parameters:
newPassword
- The desired password for the user, ornull
if a new password should be generated.- Returns:
- This password modify request.
- Throws:
UnsupportedOperationException
- If this password modify extended request does not permit the new password to be set.
-
setNewPassword
PasswordModifyExtendedRequest setNewPassword(char[] newPassword)
Sets the desired password for the user. The password will be converted to a UTF-8 octet string.- Parameters:
newPassword
- The desired password for the user, ornull
if a new password should be generated.- Returns:
- This password modify request.
- Throws:
UnsupportedOperationException
- If this password modify extended request does not permit the new password to be set.
-
setOldPassword
PasswordModifyExtendedRequest setOldPassword(byte[] oldPassword)
Sets the current password for the user.- Parameters:
oldPassword
- The current password for the user, ornull
if the password is not known.- Returns:
- This password modify request.
- Throws:
UnsupportedOperationException
- If this password modify extended request does not permit the old password to be set.
-
setOldPassword
PasswordModifyExtendedRequest setOldPassword(char[] oldPassword)
Sets the current password for the user. The password will be converted to a UTF-8 octet string.- Parameters:
oldPassword
- The current password for the user, ornull
if the password is not known.- Returns:
- This password modify request.
- Throws:
UnsupportedOperationException
- If this password modify extended request does not permit the old password to be set.
-
setUserIdentity
PasswordModifyExtendedRequest setUserIdentity(Object userIdentity)
Sets the identity of the user whose password is to be modified. The identity may or may not be a distinguished name.If
userIdentity
is not an instance ofByteString
then it will be converted using theByteString.valueOfObject(Object)
method.- Parameters:
userIdentity
- The identity of the user whose password is to be modified, ornull
if the request should be applied to the user currently associated with the session.- Returns:
- This password modify request.
- Throws:
UnsupportedOperationException
- If this password modify extended request does not permit the user identity to be set.
-
-