Class PasswordModifyExtendedRequest
java.lang.Object
org.forgerock.opendj.ldap.messages.AbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult>
org.forgerock.opendj.ldap.messages.PasswordModifyExtendedRequest
- All Implemented Interfaces:
ExtendedRequest<PasswordModifyExtendedResult>,ProtocolOp,Request
public final class PasswordModifyExtendedRequest
extends AbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult>
implements 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
FieldsModifier and TypeFieldDescriptionA decoder which can be used to decode password modify extended operation requests.static final StringThe OID for the password modify extended operation request. -
Method Summary
Modifier and TypeMethodDescriptionaddControl(Control control) Adds the provided control to this protocol-op.addControls(Iterable<? extends Control> controls) Adds the provided controls to this protocol-op.final booleancontainsControl(String oid) Returnstrueif this protocol-op contains the specified control.final <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.Returns aListcontaining the controls included with this protocol-op.byte[]Returns the desired password for the user, ornullif a new password should be generated.getOid()Returns the numeric OID associated with this extended request.byte[]Returns the current password for the user, if known.Returns a decoder which can be used to decoded responses to this extended request.Returns the identity of the user whose password is to be modified, ornullif the request should be applied to the user currently associated with the session.Returns the identity of the user whose password is to be modified decoded as a UTF-8 string, ornullif the request should be applied to the user currently associated with the session.getValue()Returns the value, if any, associated with this extended request.booleanhasValue()Returnstrueif this extended request has a value.removeControls(String oid) Removes all the controls having the specified OID.setNewPassword(byte[] newPassword) Sets the desired password for the user.setNewPassword(char[] newPassword) Sets the desired password for the user.setOldPassword(byte[] oldPassword) Sets the current password for the user.setOldPassword(char[] oldPassword) Sets the current password for the user.setUserIdentity(Object userIdentity) Sets the identity of the user whose password is to be modified.toString()Methods inherited from class org.forgerock.opendj.ldap.messages.AbstractExtendedRequest
accept, getTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.forgerock.opendj.ldap.messages.ExtendedRequest
addControl, addControls, getControl, getControls, removeControlsMethods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
Field Details
-
DECODER
public static final ExtendedRequestDecoder<PasswordModifyExtendedRequest,PasswordModifyExtendedResult> DECODERA decoder which can be used to decode password modify extended operation requests. -
OID
The OID for the password modify extended operation request.- See Also:
-
-
Method Details
-
getNewPassword
public byte[] getNewPassword()Returns the desired password for the user, ornullif a new password should be generated.- Returns:
- The desired password for the user, or
nullif a new password should be generated.
-
getOid
Description copied from interface:ExtendedRequestReturns the numeric OID associated with this extended request.- Specified by:
getOidin interfaceExtendedRequest<PasswordModifyExtendedResult>- Specified by:
getOidin classAbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult> - Returns:
- The numeric OID associated with this extended request.
-
getOldPassword
public byte[] getOldPassword()Returns the current password for the user, if known.- Returns:
- The current password for the user, or
nullif the password is not known.
-
getResultDecoder
Description copied from interface:ExtendedRequestReturns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoderin interfaceExtendedRequest<PasswordModifyExtendedResult>- Specified by:
getResultDecoderin classAbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult> - Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getUserIdentity
Returns the identity of the user whose password is to be modified, ornullif 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
nullif the request should be applied to the user currently associated with the session.
-
getUserIdentityAsString
Returns the identity of the user whose password is to be modified decoded as a UTF-8 string, ornullif 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
nullif the request should be applied to the user currently associated with the session.
-
getValue
Description copied from interface:ExtendedRequestReturns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValuein interfaceExtendedRequest<PasswordModifyExtendedResult>- Specified by:
getValuein classAbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult> - Returns:
- The value associated with this extended request, or
nullif there is no value.
-
hasValue
public boolean hasValue()Description copied from interface:ExtendedRequestReturnstrueif 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:
hasValuein interfaceExtendedRequest<PasswordModifyExtendedResult>- Specified by:
hasValuein classAbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult> - Returns:
trueif this extended request has a value, orfalseif there is no value.
-
setNewPassword
Sets the desired password for the user.- Parameters:
newPassword- The desired password for the user, ornullif 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
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, ornullif 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
Sets the current password for the user.- Parameters:
oldPassword- The current password for the user, ornullif 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
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, ornullif 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
Sets the identity of the user whose password is to be modified. The identity may or may not be a distinguished name.If
userIdentityis not an instance ofByteStringthen it will be converted using theByteString.valueOfObject(Object)method.- Parameters:
userIdentity- The identity of the user whose password is to be modified, ornullif 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.
-
toString
- Overrides:
toStringin classAbstractExtendedRequest<PasswordModifyExtendedRequest,PasswordModifyExtendedResult>
-
addControl
Description copied from interface:ProtocolOpAdds the provided control to this protocol-op.- Specified by:
addControlin interfaceProtocolOp- Parameters:
control- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
Description copied from interface:ProtocolOpAdds the provided controls to this protocol-op.- Specified by:
addControlsin interfaceProtocolOp- Parameters:
controls- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
removeControls
Description copied from interface:ProtocolOpRemoves all the controls having the specified OID.- Specified by:
removeControlsin interfaceProtocolOp- Parameters:
oid- The numeric OID of the protocol-op control to remove.- Returns:
- This protocol-op.
-
containsControl
Description copied from interface:ProtocolOpReturnstrueif this protocol-op contains the specified control.- Specified by:
containsControlin interfaceProtocolOp- Parameters:
oid- The numeric OID of the protocol-op control.- Returns:
trueif this protocol-op contains the specified control.
-
getControl
public final <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:ProtocolOpDecodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControlin 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
nullif 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
Description copied from interface:ProtocolOpReturns aListcontaining the controls included with this protocol-op. The returnedListmay be modified if permitted by this protocol-op.- Specified by:
getControlsin interfaceProtocolOp- Returns:
- A
Listcontaining the controls.
-