@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class HardDeleteRequestControl extends Control
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
or FALSE
,
but this will only impact how the delete request is to be handled by servers
which do not support this control. A criticality of TRUE
will cause
any server which does not support this control to reject the request, while
a criticality of FALSE
should cause the delete request to be
processed as if the control had not been included (i.e., as a regular "hard"
delete).
HardDeleteRequestValue ::= SEQUENCE { ... }In the future, the value sequence may allow one or more elements to customize the behavior of the hard delete 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.SoftDeleteRequestControl
,
Serialized FormModifier and Type | Field and Description |
---|---|
static java.lang.String |
HARD_DELETE_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.22) for the hard delete request control.
|
Constructor and Description |
---|
HardDeleteRequestControl()
Creates a new hard delete request control.
|
HardDeleteRequestControl(boolean isCritical)
Creates a new hard delete request control with the provided information.
|
HardDeleteRequestControl(Control control)
Creates a new hard delete request control which is decoded from the
provided generic control.
|
Modifier and Type | Method and Description |
---|---|
static DeleteRequest |
createHardDeleteRequest(java.lang.String targetDN,
boolean isCritical)
Creates a new delete request that may be used to hard delete the specified
target entry.
|
static HardDeleteRequestControl |
decodeJSONControl(JSONObject controlObject,
boolean strict)
Attempts to decode the provided object as a JSON representation of a hard
delete request control.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
JSONObject |
toJSONControl()
Retrieves a representation of this hard delete 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 HARD_DELETE_REQUEST_OID
public HardDeleteRequestControl()
public HardDeleteRequestControl(boolean isCritical)
isCritical
- Indicates whether this control should be marked
critical. This will only have an effect on the way the
associated delete operation is handled by servers which
do NOT support the hard delete request control. For
such servers, a control that is critical will cause the
hard delete attempt to fail, while a control that is
not critical will be processed as if the control was
not included in the request (i.e., as a normal "hard"
delete).public HardDeleteRequestControl(@NotNull Control control) throws LDAPException
control
- The generic control to be decoded as a hard delete request
control.LDAPException
- If the provided control cannot be decoded as a hard
delete request control.@NotNull public static DeleteRequest createHardDeleteRequest(@NotNull java.lang.String targetDN, boolean isCritical)
targetDN
- The DN of the entry to be hard deleted.isCritical
- Indicates whether this control should be marked
critical. This will only have an effect on the way the
associated delete operation is handled by servers which
do NOT support the hard delete request control. For
such servers, a control that is critical will cause the
hard delete attempt to fail, while a control that is
not critical will be processed as if the control was
not included in the request (i.e., as a normal "hard"
delete).@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 hard delete request control, the
OID is "1.3.6.1.4.1.30221.2.5.22".
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 HardDeleteRequestControl 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 hard delete request control.