Class UndeleteRequestControl
java.lang.Object
com.unboundid.ldap.sdk.Control
com.unboundid.ldap.sdk.unboundidds.controls.UndeleteRequestControl
- All Implemented Interfaces:
Serializable
@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class UndeleteRequestControl
extends Control
This class provides a request control which may be included in an add request
to indicate that the contents of the resulting entry should come not from the
data of the add request itself but instead from a soft-deleted entry. This
can be used to recover an entry that was previously removed by a delete
request containing the
The criticality for this control should always be
The control may optionally have a value. If a value is provided, then it must be the encoded representation of an empty ASN.1 sequence, like:
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.
The criticality for this control should always be
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).
The control may optionally have a value. If a value is provided, then it must be the encoded representation of an empty ASN.1 sequence, like:
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.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe 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 final StringThe name of the optional attribute used to indicate whether the newly-undeleted user account should be disabled and prevented from authenticating.static final StringThe 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 final StringThe name of the optional attribute used to specify the new password for use in the newly-undeleted entry.static final StringThe 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 final StringThe name of the required attribute used to specify the DN of the soft-deleted entry to be undeleted.static final StringThe OID (1.3.6.1.4.1.30221.2.5.23) for the undelete request control. -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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. -
Method Summary
Modifier and TypeMethodDescriptionstatic AddRequestcreateUndeleteRequest(String targetDN, String softDeletedEntryDN) Creates a new undelete request that may be used to recover the specified soft-deleted entry.static AddRequestcreateUndeleteRequest(String targetDN, String softDeletedEntryDN, List<Modification> changes, String oldPassword, String newPassword, Boolean mustChangePassword, Boolean disableAccount) Creates a new undelete request that may be used to recover the specified soft-deleted entry.static UndeleteRequestControldecodeJSONControl(JSONObject controlObject, boolean strict) Attempts to decode the provided object as a JSON representation of an undelete request control.Retrieves the user-friendly name for this control, if available.Retrieves a representation of this undelete request control as a JSON object.voidtoString(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, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
Field Details
-
UNDELETE_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.23) for the undelete request control.- See Also:
-
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.- See Also:
-
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.- See Also:
-
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.- See Also:
-
ATTR_NEW_PASSWORD
The name of the optional attribute used to specify the new password for use in the newly-undeleted entry.- See Also:
-
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.- See Also:
-
ATTR_SOFT_DELETED_ENTRY_DN
The name of the required attribute used to specify the DN of the soft-deleted entry to be undeleted.- See Also:
-
-
Constructor Details
-
UndeleteRequestControl
public UndeleteRequestControl()Creates a undelete request control with a criticality of TRUE and no value. -
UndeleteRequestControl
Creates a new undelete request control which is decoded from the provided generic control.- Parameters:
control- The generic control to be decoded as an undelete request control.- Throws:
LDAPException- If the provided control cannot be decoded as an undelete request control.
-
-
Method Details
-
createUndeleteRequest
@NotNull public static AddRequest createUndeleteRequest(@NotNull String targetDN, @NotNull String softDeletedEntryDN) Creates a new undelete request that may be used to recover the specified soft-deleted entry.- Parameters:
targetDN- The DN to use for the entry recovered from the soft-deleted entry contents. It must not benull.softDeletedEntryDN- The DN of the soft-deleted entry to be used in the restore process. It must not benull.- Returns:
- An add request with an appropriate set of content
-
createUndeleteRequest
@NotNull public static AddRequest createUndeleteRequest(@NotNull String targetDN, @NotNull String softDeletedEntryDN, @Nullable List<Modification> changes, @Nullable String oldPassword, @Nullable String newPassword, @Nullable Boolean mustChangePassword, @Nullable Boolean disableAccount) Creates a new undelete request that may be used to recover the specified soft-deleted entry.- Parameters:
targetDN- The DN to use for the entry recovered from the soft-deleted entry contents. It must not benull.softDeletedEntryDN- The DN of the soft-deleted entry to be used in the restore process. It must not benull.changes- An optional set of changes that should be applied to the entry during the course of undelete processing. It may benullor 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 benullif 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 benullif 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 benullif this should be omitted from the resulting add request.- Returns:
- An add request with an appropriate set of content
-
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:
getControlNamein classControl- Returns:
- The user-friendly name for this control, or the OID if no user-friendly name is available.
-
toJSONControl
Retrieves a representation of this undelete request control as a JSON object. The JSON object uses the following fields (note that since this control does not have a value, neither thevalue-base64norvalue-jsonfields 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, theoidfield should be used to identify the type of control. -
criticality-- A mandatory Boolean field used to indicate whether this control is considered critical.
- Overrides:
toJSONControlin classControl- Returns:
- A JSON object that contains a representation of this control.
-
-
decodeJSONControl
@NotNull public static UndeleteRequestControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException Attempts to decode the provided object as a JSON representation of an undelete request control.- Parameters:
controlObject- The JSON object to be decoded. It must not benull.strict- Indicates whether to use strict mode when decoding the provided JSON object. If this istrue, then this method will throw an exception if the provided JSON object contains any unrecognized fields. If this isfalse, then unrecognized fields will be ignored.- Returns:
- The undelete request control that was decoded from the provided JSON object.
- Throws:
LDAPException- If the provided JSON object cannot be parsed as a valid undelete request control.
-
toString
Appends a string representation of this LDAP control to the provided buffer.
-