@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class UndeleteRequestControl extends Control
SoftDeleteRequestControl
.
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.
TRUE
. The
criticality will have no effect on servers that do support this control, but
a criticality of TRUE
will ensure that a server which does not
support soft deletes does not attempt to process the add request. If the
criticality were FALSE
, then any server that does not support the
control would simply ignore it and attempt to add the entry specified in the
add request (which will have details about the undelete to be processed).
UndeleteRequestValue ::= SEQUENCE { ... }In the future, the value sequence may allow one or more elements to customize the behavior of the undelete operation, but at present no such elements are defined. See the documentation for the
SoftDeleteRequestControl
class for an
example demonstrating the use of this control.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ATTR_CHANGES
The name of the optional attribute used to specify a set of changes to
apply to the soft-deleted entry during the course of the undelete.
|
static java.lang.String |
ATTR_DISABLE_ACCOUNT
The name of the optional attribute used to indicate whether the
newly-undeleted user account should be disabled and prevented from
authenticating.
|
static java.lang.String |
ATTR_MUST_CHANGE_PASSWORD
The name of the optional attribute used to indicate whether the
newly-undeleted user will be required to change his/her password
immediately after authenticating and before being required to request any
other operations.
|
static java.lang.String |
ATTR_NEW_PASSWORD
The name of the optional attribute used to specify the new password for use
in the newly-undeleted entry.
|
static java.lang.String |
ATTR_OLD_PASSWORD
The name of the optional attribute used to specify the password currently
contained in the soft-deleted entry, to be validated as part of the
undelete process.
|
static java.lang.String |
ATTR_SOFT_DELETED_ENTRY_DN
The name of the required attribute used to specify the DN of the
soft-deleted entry to be undeleted.
|
static java.lang.String |
UNDELETE_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.23) for the undelete request control.
|
Constructor and Description |
---|
UndeleteRequestControl()
Creates a undelete request control with a criticality of TRUE and no value.
|
UndeleteRequestControl(Control control)
Creates a new undelete request control which is decoded from the
provided generic control.
|
Modifier and Type | Method and Description |
---|---|
static AddRequest |
createUndeleteRequest(java.lang.String targetDN,
java.lang.String softDeletedEntryDN)
Creates a new undelete request that may be used to recover the specified
soft-deleted entry.
|
static AddRequest |
createUndeleteRequest(java.lang.String targetDN,
java.lang.String softDeletedEntryDN,
java.util.List<Modification> changes,
java.lang.String oldPassword,
java.lang.String newPassword,
java.lang.Boolean mustChangePassword,
java.lang.Boolean disableAccount)
Creates a new undelete request that may be used to recover the specified
soft-deleted entry.
|
static UndeleteRequestControl |
decodeJSONControl(JSONObject controlObject,
boolean strict)
Attempts to decode the provided object as a JSON representation of an
undelete request control.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
JSONObject |
toJSONControl()
Retrieves a representation of this undelete request 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 UNDELETE_REQUEST_OID
@NotNull public static final java.lang.String ATTR_CHANGES
@NotNull public static final java.lang.String ATTR_DISABLE_ACCOUNT
@NotNull public static final java.lang.String ATTR_MUST_CHANGE_PASSWORD
@NotNull public static final java.lang.String ATTR_NEW_PASSWORD
@NotNull public static final java.lang.String ATTR_OLD_PASSWORD
@NotNull public static final java.lang.String ATTR_SOFT_DELETED_ENTRY_DN
public UndeleteRequestControl()
public UndeleteRequestControl(@NotNull Control control) throws LDAPException
control
- The generic control to be decoded as an undelete request
control.LDAPException
- If the provided control cannot be decoded as an
undelete request control.@NotNull public static AddRequest createUndeleteRequest(@NotNull java.lang.String targetDN, @NotNull java.lang.String softDeletedEntryDN)
targetDN
- The DN to use for the entry recovered
from the soft-deleted entry contents. It must
not be null
.softDeletedEntryDN
- The DN of the soft-deleted entry to be used in
the restore process. It must not be
null
.@NotNull public static AddRequest createUndeleteRequest(@NotNull java.lang.String targetDN, @NotNull java.lang.String softDeletedEntryDN, @Nullable java.util.List<Modification> changes, @Nullable java.lang.String oldPassword, @Nullable java.lang.String newPassword, @Nullable java.lang.Boolean mustChangePassword, @Nullable java.lang.Boolean disableAccount)
targetDN
- The DN to use for the entry recovered
from the soft-deleted entry contents. It must
not be null
.softDeletedEntryDN
- The DN of the soft-deleted entry to be used in
the restore process. It must not be
null
.changes
- An optional set of changes that should be
applied to the entry during the course of
undelete processing. It may be null
or
empty if this element should be omitted from
the resulting add request.oldPassword
- An optional copy of the password currently
contained in the soft-deleted entry to be
recovered. If this is non-null
, then
this password will be required to match that
contained in the target entry for the undelete
to succeed.newPassword
- An optional new password to set for the user
as part of the undelete processing. It may be
null
if no new password should be
provided.mustChangePassword
- Indicates whether the recovered user will be
required to change his/her password before
being allowed to request any other operations.
It may be null
if this should be
omitted from the resulting add request.disableAccount
- Indicates whether the undeleted entry should be
made disabled so that it cannot be used to
authenticate. It may be null
if this
should be omitted from the resulting add
request.@NotNull public java.lang.String getControlName()
getControlName
in class Control
@NotNull public JSONObject toJSONControl()
value-base64
nor
value-json
fields may be present):
oid
-- A mandatory string field whose value is the object
identifier for this control. For the undelete request control, the OID
is "1.3.6.1.4.1.30221.2.5.23".
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.
toJSONControl
in class Control
@NotNull public static UndeleteRequestControl 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 undelete request control.