Package com.unboundid.ldap.sdk.controls
Class PasswordExpiringControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.controls.PasswordExpiringControl
-
- All Implemented Interfaces:
DecodeableControl
,java.io.Serializable
@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class PasswordExpiringControl extends Control implements DecodeableControl
This class provides an implementation of the expiring expiring control as described in draft-vchu-ldap-pwd-policy. It may be used to indicate that the authenticated user's password will expire in the near future. The value of this control includes the length of time in seconds until the user's password actually expires.
No request control is required to trigger the server to send the password expiring response control. If the server supports the use of this control and the user's password will expire within a time frame that the server considers to be the near future, then it will be included in the bind response returned to the client.
See the documentation for thePasswordExpiredControl
to see an example that demonstrates the use of both the password expiring and password expired controls.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PASSWORD_EXPIRING_OID
The OID (2.16.840.1.113730.3.4.5) for the password expiring response control.
-
Constructor Summary
Constructors Constructor Description PasswordExpiringControl(int secondsUntilExpiration)
Creates a new password expiring control with the provided information.PasswordExpiringControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new password expiring control with the provided information.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PasswordExpiringControl
decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
Creates a new instance of this decodeable control from the provided information.static PasswordExpiringControl
get(LDAPResult result)
Extracts a password expiring control from the provided result.java.lang.String
getControlName()
Retrieves the user-friendly name for this control, if available.int
getSecondsUntilExpiration()
Retrieves the length of time in seconds until the password expires.void
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided buffer.-
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
-
-
-
Field Detail
-
PASSWORD_EXPIRING_OID
@NotNull public static final java.lang.String PASSWORD_EXPIRING_OID
The OID (2.16.840.1.113730.3.4.5) for the password expiring response control.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PasswordExpiringControl
public PasswordExpiringControl(int secondsUntilExpiration)
Creates a new password expiring control with the provided information.- Parameters:
secondsUntilExpiration
- The length of time in seconds until the password expires.
-
PasswordExpiringControl
public PasswordExpiringControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new password expiring control with the provided information.- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Throws:
LDAPException
- If the provided control cannot be decoded as a password expiring response control.
-
-
Method Detail
-
decodeControl
@NotNull public PasswordExpiringControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
Creates a new instance of this decodeable control from the provided information.- Specified by:
decodeControl
in interfaceDecodeableControl
- Parameters:
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked critical.value
- The encoded value for the control. This may benull
if no value was provided.- Returns:
- The decoded representation of this control.
- Throws:
LDAPException
- If the provided information cannot be decoded as a valid instance of this decodeable control.
-
get
@Nullable public static PasswordExpiringControl get(@NotNull LDAPResult result) throws LDAPException
Extracts a password expiring control from the provided result.- Parameters:
result
- The result from which to retrieve the password expiring control.- Returns:
- The password expiring control contained in the provided result, or
null
if the result did not contain a password expiring control. - Throws:
LDAPException
- If a problem is encountered while attempting to decode the password expiring control contained in the provided result.
-
getSecondsUntilExpiration
public int getSecondsUntilExpiration()
Retrieves the length of time in seconds until the password expires.- Returns:
- The length of time in seconds until the password expires.
-
getControlName
@NotNull public java.lang.String getControlName()
Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.- Overrides:
getControlName
in classControl
- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
-