@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class PasswordValidationDetailsResponseControl extends Control implements DecodeableControl
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.
false
, and a value with the provided encoding:
PasswordValidationDetailsResponse ::= SEQUENCE { validationResult CHOICE { validationDetails [0] SEQUENCE OF PasswordQualityRequirementValidationResult, noPasswordProvided [1] NULL, multiplePasswordsProvided [2] NULL, noValidationAttempted [3] NULL, ... }, missingCurrentPassword [3] BOOLEAN DEFAULT FALSE, mustChangePassword [4] BOOLEAN DEFAULT FALSE, secondsUntilExpiration [5] INTEGER OPTIONAL, ... }
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PASSWORD_VALIDATION_DETAILS_RESPONSE_OID
The OID (1.3.6.1.4.1.30221.2.5.41) for the password validation details
response control.
|
Constructor and Description |
---|
PasswordValidationDetailsResponseControl(PasswordValidationDetailsResponseType responseType,
java.util.Collection<PasswordQualityRequirementValidationResult> validationResults,
boolean missingCurrentPassword,
boolean mustChangePassword,
java.lang.Integer secondsUntilExpiration)
Creates a password validation details response control with the provided
information.
|
PasswordValidationDetailsResponseControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new password validation details response control by decoding the
provided generic control information.
|
Modifier and Type | Method and Description |
---|---|
PasswordValidationDetailsResponseControl |
decodeControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new instance of this decodeable control from the provided
information.
|
static PasswordValidationDetailsResponseControl |
get(LDAPException exception)
Extracts a password validation details response control from the provided
result.
|
static PasswordValidationDetailsResponseControl |
get(LDAPResult result)
Extracts a password validation details response control from the provided
result.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
PasswordValidationDetailsResponseType |
getResponseType()
Retrieves the response type for this password validation details response
control.
|
java.lang.Integer |
getSecondsUntilExpiration()
Retrieves the maximum length of time, in seconds, that the newly-set
password will be considered valid.
|
java.util.List<PasswordQualityRequirementValidationResult> |
getValidationResults()
Retrieves a list of the results obtained when attempting to validate the
proposed password against the password quality requirements in effect for
the operation.
|
boolean |
missingCurrentPassword()
Indicates whether the associated operation is a self password change that
requires the user to provide his/her current password when setting a new
password, but no current password was provided.
|
boolean |
mustChangePassword()
Indicates whether the user will be required to immediately change his/her
password after the associated add or administrative reset is complete.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided
buffer.
|
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
@NotNull public static final java.lang.String PASSWORD_VALIDATION_DETAILS_RESPONSE_OID
public PasswordValidationDetailsResponseControl(@NotNull PasswordValidationDetailsResponseType responseType, @Nullable java.util.Collection<PasswordQualityRequirementValidationResult> validationResults, boolean missingCurrentPassword, boolean mustChangePassword, @Nullable java.lang.Integer secondsUntilExpiration)
responseType
- The response type for this password
validation details response control. This
must not be null
.validationResults
- A list of the results obtained when
validating the password against the
password quality requirements. This must
be null
or empty if the
responseType
element has a value
other than VALIDATION_DETAILS
.missingCurrentPassword
- Indicates whether the associated operation
is a self change that failed (or would have
failed if not for additional validation
failures) because the user did not provide
his/her current password as required.mustChangePassword
- Indicates whether the associated operation
is an add or administrative reset that will
require the user to change his/her password
immediately after authenticating before
allowing them to perform any other
operation in the server.secondsUntilExpiration
- The maximum length of time, in seconds,
that the newly-set password will be
considered valid. This may be null
if the new password will be considered
valid indefinitely.public PasswordValidationDetailsResponseControl(@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 considered
critical.value
- The value for the control.LDAPException
- If the provided information cannot be decoded to
create a password validation details response
control.@NotNull public PasswordValidationDetailsResponseType getResponseType()
@NotNull public java.util.List<PasswordQualityRequirementValidationResult> getValidationResults()
public boolean missingCurrentPassword()
true
if the associated operation is a self password change
that requires the user to provide his/her current password when
setting a new password but none was required, or false
if
the associated operation was not a self change, or if the user's
current password was provided.public boolean mustChangePassword()
true
if the associated operation is an add or
administrative reset and the user will be required to change
his/her password before being allowed to perform any other
operation, or false
if the associated operation was not am
add or an administrative reset, or if the user will not be
required to immediately change his/her password.@Nullable public java.lang.Integer getSecondsUntilExpiration()
mustChangePassword()
returns true
, then this value will be the length of time that the
user has to perform a self password change before the account becomes
locked. If mustChangePassword()
returns false
, then this
value will be the length of time until the password expires.null
if the new
password will be valid indefinitely.@NotNull public PasswordValidationDetailsResponseControl 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 PasswordValidationDetailsResponseControl get(@NotNull LDAPResult result) throws LDAPException
result
- The result from which to retrieve the password validation
details response control.null
if the result did not contain a
password validation details response control.LDAPException
- If a problem is encountered while attempting to
decode the password validation details response
control contained in the provided result.@NotNull public static PasswordValidationDetailsResponseControl get(@NotNull LDAPException exception) throws LDAPException
exception
- The exception that was thrown when trying to process the
associated operation.null
if the result did not contain a
password validation details response control.LDAPException
- If a problem is encountered while attempting to
decode the password validation details response
control contained in the provided result.@NotNull public java.lang.String getControlName()
getControlName
in class Control