@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class ModifiablePasswordPolicyStateJSON extends java.lang.Object implements java.io.Serializable
ds-pwp-modifiable-state-json
virtual attribute, which may be used to
manipulate elements of a user's password policy state. The value of this
attribute is a JSON object, and using an LDAP modify operation to replace the
value with a new JSON object will cause the associated state elements to be
updated in the user entry. The
ModifiablePasswordPolicyStateJSONBuilder
class can be used to
construct values to more easily manipulate that state. Note that the
PasswordPolicyStateExtendedRequest
class provides a mechanism for
manipulating an even broader range of password policy state elements.
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.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MODIFIABLE_PASSWORD_POLICY_STATE_JSON_ATTRIBUTE
The name of the operational attribute that holds a JSON representation of
the modifiable elements in a user's password policy state.
|
Constructor and Description |
---|
ModifiablePasswordPolicyStateJSON(JSONObject modifiablePasswordPolicyStateObject)
Creates a new instance of this object from the provided JSON object.
|
Modifier and Type | Method and Description |
---|---|
static ModifiablePasswordPolicyStateJSON |
get(Entry userEntry)
Attempts to retrieve and decode the modifiable password policy state
information from the provided user entry.
|
static ModifiablePasswordPolicyStateJSON |
get(LDAPInterface connection,
java.lang.String userDN)
Attempts to retrieve and decode the modifiable password policy state
information for the specified user.
|
java.lang.Long |
getAccountActivationTime()
Retrieves a timestamp that indicates the time the user's account became (or
will become) active.
|
java.lang.Long |
getAccountExpirationTime()
Retrieves a timestamp that indicates the time the user's account will (or
did) expire.
|
java.lang.Boolean |
getAccountIsDisabled()
Retrieves the value of a flag that indicates whether the user's account has
been administratively disabled.
|
java.lang.Boolean |
getAccountIsFailureLocked()
Retrieves the value of a flag that indicates whether the user account is
currently locked as a result of too many failed authentication attempts.
|
JSONObject |
getModifiablePasswordPolicyStateJSONObject()
Retrieves the JSON object that contains the encoded modifiable password
policy state information.
|
java.lang.Boolean |
getMustChangePassword()
Retrieves the value of a flag that indicates whether the user must change
their password before they will be allowed to perform any other operations
in the server.
|
java.lang.Long |
getPasswordChangedTime()
Retrieves a timestamp that indicates the time the user's password was last
changed.
|
java.lang.Long |
getPasswordExpirationWarnedTime()
Retrieves a timestamp that indicates the time the user was first warned
about an upcoming password expiration.
|
java.lang.String |
toString()
Retrieves a string representation of the password policy state information.
|
@NotNull public static final java.lang.String MODIFIABLE_PASSWORD_POLICY_STATE_JSON_ATTRIBUTE
public ModifiablePasswordPolicyStateJSON(@NotNull JSONObject modifiablePasswordPolicyStateObject)
modifiablePasswordPolicyStateObject
- The JSON object containing the encoded modifiable password
policy state.@Nullable public static ModifiablePasswordPolicyStateJSON get(@NotNull LDAPInterface connection, @NotNull java.lang.String userDN) throws LDAPException
connection
- The connection to use to communicate with the server.
It must not be null
, and it must be established
and authenticated as an account with permission to
access the target user's password policy state
information.userDN
- The DN of the user for whom to retrieve the password
policy state. It must not be null
.null
because no modifiable password policy state
information is available for the user.LDAPException
- If a problem is encountered while trying to
retrieve the user's entry or decode the modifiable
password policy state JSON object.@Nullable public static ModifiablePasswordPolicyStateJSON get(@NotNull Entry userEntry) throws LDAPException
userEntry
- The entry for the user for whom to obtain the modifiable
password policy state information. It must not be
null
.null
if no modifiable password policy state
information is available for the user.LDAPException
- If a problem is encountered while trying to decode
the modifiable password policy state JSON object.@NotNull public JSONObject getModifiablePasswordPolicyStateJSONObject()
@Nullable public java.lang.Long getPasswordChangedTime()
System.currentTimeMillis
), a negative value if the field
was present with a JSON null value (indicating that the user
doesn't have a password changed time), or null
if the
field was not included in the JSON object.@Nullable public java.lang.Boolean getAccountIsDisabled()
Boolean.TRUE
if the account has been administratively
disabled, Boolean.FALSE
if the account has not been
administratively disabled, or null
if this flag was not
included in the password policy state JSON object.@Nullable public java.lang.Long getAccountActivationTime()
System.currentTimeMillis
), a negative value if the field
was present with a JSON null value (indicating that the user
doesn't have an account activation time), or null
if the
field was not included in the JSON object.@Nullable public java.lang.Long getAccountExpirationTime()
System.currentTimeMillis
), a negative value if the field
was present with a JSON null value (indicating that the user
doesn't have an account expiration time), or null
if the
field was not included in the JSON object.@Nullable public java.lang.Boolean getAccountIsFailureLocked()
Boolean.TRUE
if the user account is locked as a result of
too many failed authentication attempts, Boolean.FALSE
if
the user account is not locked because of too many failed
authentication attempts, or null
if this flag was not
included in the password policy state JSON object.@Nullable public java.lang.Long getPasswordExpirationWarnedTime()
System.currentTimeMillis
), a negative value
if the field was present with a JSON null value (indicating that
the user doesn't have an password expiration warned time), or
null
if the field was not included in the JSON object.@Nullable public java.lang.Boolean getMustChangePassword()
Boolean.TRUE
if the user must change their password before
they will be allowed to perform any other operations in the
server, Boolean.FALSE
if the user is not required to
change their password, or null
if this flag was not
included in the password policy state JSON object.