@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class GeneratePasswordResponseControl extends Control implements DecodeableControl
GeneratePasswordRequestControl
.
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
GeneratePasswordResponse ::= SEQUENCE { generatedPassword OCTET STRING, mustChangePassword BOOLEAN, secondsUntilExpiration [0] INTEGER OPTIONAL, ... }
GeneratePasswordRequestControl
,
Serialized FormModifier and Type | Field and Description |
---|---|
static java.lang.String |
GENERATE_PASSWORD_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.59) for the generate password response
control.
|
Constructor and Description |
---|
GeneratePasswordResponseControl(byte[] generatedPassword,
boolean mustChangePassword,
java.lang.Long secondsUntilExpiration)
Creates a new generate password response control with the provided
information.
|
GeneratePasswordResponseControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new generate password response control with the provided
information.
|
GeneratePasswordResponseControl(java.lang.String generatedPassword,
boolean mustChangePassword,
java.lang.Long secondsUntilExpiration)
Creates a new generate password response control with the provided
information.
|
Modifier and Type | Method and Description |
---|---|
GeneratePasswordResponseControl |
decodeControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new instance of this decodeable control from the provided
information.
|
static GeneratePasswordResponseControl |
decodeJSONControl(JSONObject controlObject,
boolean strict)
Attempts to decode the provided object as a JSON representation of a
generate password response control.
|
static GeneratePasswordResponseControl |
get(LDAPResult result)
Extracts a generate password response control from the provided result.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
ASN1OctetString |
getGeneratedPassword()
Retrieves the password that was generated by the server.
|
byte[] |
getGeneratedPasswordBytes()
Retrieves the bytes that comprise the password that was generated by the
server.
|
java.lang.String |
getGeneratedPasswordString()
Retrieves a string representation of the password that was generated by the
server.
|
java.lang.Long |
getSecondsUntilExpiration()
Retrieves the length of time, in seconds, until the generated password will
expire.
|
boolean |
mustChangePassword()
Indicates whether the user will be required to change their password the
first time they authenticate.
|
JSONObject |
toJSONControl()
Retrieves a representation of this generate password response control as a
JSON object.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided
buffer.
|
decode, decode, decodeControls, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
@NotNull public static final java.lang.String GENERATE_PASSWORD_RESPONSE_OID
public GeneratePasswordResponseControl(@NotNull java.lang.String generatedPassword, boolean mustChangePassword, @Nullable java.lang.Long secondsUntilExpiration)
generatedPassword
- The password generated by the server. It
must not be null
.mustChangePassword
- Indicates whether the user will be required
to choose a new password the first time
they authenticate.secondsUntilExpiration
- The number of seconds until the new
password will expire. It may be
null
if the new password will not
expire.public GeneratePasswordResponseControl(@NotNull byte[] generatedPassword, boolean mustChangePassword, @Nullable java.lang.Long secondsUntilExpiration)
generatedPassword
- The password generated by the server. It
must not be null
.mustChangePassword
- Indicates whether the user will be required
to choose a new password the first time
they authenticate.secondsUntilExpiration
- The number of seconds until the new
password will expire. It may be
null
if the new password will not
expire.public GeneratePasswordResponseControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked
critical.value
- The encoded value for the control. This may be
null
if no value was provided.LDAPException
- If the provided control cannot be decoded as a
generate password response control.@NotNull public GeneratePasswordResponseControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
decodeControl
in interface DecodeableControl
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked
critical.value
- The encoded value for the control. This may be
null
if no value was provided.LDAPException
- If the provided information cannot be decoded as a
valid instance of this decodeable control.@Nullable public static GeneratePasswordResponseControl get(@NotNull LDAPResult result) throws LDAPException
result
- The result from which to retrieve the generate password
response control.null
if the result did not contain a generate
password response control.LDAPException
- If a problem is encountered while attempting to
decode the generate password response control
contained in the provided result.@NotNull public ASN1OctetString getGeneratedPassword()
@NotNull public java.lang.String getGeneratedPasswordString()
@NotNull public byte[] getGeneratedPasswordBytes()
public boolean mustChangePassword()
true
if the user will be required to change their password
the first time they authenticate, or false
if not.@Nullable public java.lang.Long getSecondsUntilExpiration()
null
if this is not available (e.g., because
the generated password will not expire).@NotNull public java.lang.String getControlName()
getControlName
in class Control
@NotNull public JSONObject toJSONControl()
oid
-- A mandatory string field whose value is the object
identifier for this control. For the generate password response
control, the OID is "1.3.6.1.4.1.30221.2.5.59".
control-name
-- An optional string field whose value is a
human-readable name for this control. This field is only intended for
descriptive purposes, and when decoding a control, the oid
field should be used to identify the type of control.
criticality
-- A mandatory Boolean field used to indicate
whether this control is considered critical.
value-base64
-- An optional string field whose value is a
base64-encoded representation of the raw value for this generate
password response control. Exactly one of the value-base64
and
value-json
fields must be present.
value-json
-- An optional JSON object field whose value is a
user-friendly representation of the value for this generate password
response control. Exactly one of the value-base64
and
value-json
fields must be present, and if the
value-json
field is used, then it will use the following
fields:
generated-password
-- A string field whose value is the
password that was generated for the entry.
must-change-password
-- A Boolean field that indicates
whether the user must choose a new password before they will be
allowed to request any other operations.
seconds-until-expiration
-- An optional integer field whose
value is the number of seconds until the generated password
expires.
toJSONControl
in class Control
@NotNull public static GeneratePasswordResponseControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException
controlObject
- The JSON object to be decoded. It must not be
null
.strict
- Indicates whether to use strict mode when decoding
the provided JSON object. If this is true
,
then this method will throw an exception if the
provided JSON object contains any unrecognized
fields. If this is false
, then unrecognized
fields will be ignored.LDAPException
- If the provided JSON object cannot be parsed as a
valid generate password response control.