@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class PreReadResponseControl extends Control implements DecodeableControl
PreReadRequestControl
and the operation was successful, then the
response for that operation should include the pre-read response control with
a read-only copy of the entry as it appeared immediately before processing
the request. If the operation was not successful, then the pre-read response
control will not be returned.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PRE_READ_RESPONSE_OID
The OID (1.3.6.1.1.13.1) for the pre-read response control.
|
Constructor and Description |
---|
PreReadResponseControl(ReadOnlyEntry entry)
Creates a new pre-read response control including the provided entry.
|
PreReadResponseControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new pre-read response control with the provided information.
|
Modifier and Type | Method and Description |
---|---|
PreReadResponseControl |
decodeControl(java.lang.String oid,
boolean isCritical,
ASN1OctetString value)
Creates a new instance of this decodeable control from the provided
information.
|
static PreReadResponseControl |
decodeJSONControl(JSONObject controlObject,
boolean strict)
Attempts to decode the provided object as a JSON representation of a
pre-read response control.
|
static PreReadResponseControl |
get(LDAPResult result)
Extracts a pre-read response control from the provided result.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
ReadOnlyEntry |
getEntry()
Retrieves a read-only copy of the entry returned by this post-read response
control.
|
JSONObject |
toJSONControl()
Retrieves a representation of this pre-read response 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 PRE_READ_RESPONSE_OID
public PreReadResponseControl(@NotNull ReadOnlyEntry entry)
entry
- The entry to include in this pre-read response control. It
must not be null
.public PreReadResponseControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked
critical.value
- The encoded value for the control. This may be
null
if no value was provided.LDAPException
- If the provided control cannot be decoded as a
pre-read response control.@NotNull public PreReadResponseControl decodeControl(@NotNull java.lang.String oid, boolean isCritical, @Nullable ASN1OctetString value) throws LDAPException
decodeControl
in interface DecodeableControl
oid
- The OID for the control.isCritical
- Indicates whether the control should be marked
critical.value
- The encoded value for the control. This may be
null
if no value was provided.LDAPException
- If the provided information cannot be decoded as a
valid instance of this decodeable control.@Nullable public static PreReadResponseControl get(@NotNull LDAPResult result) throws LDAPException
result
- The result from which to retrieve the pre-read response
control.null
if the result did not contain a pre-read response
control.LDAPException
- If a problem is encountered while attempting to
decode the pre-read response control contained in
the provided result.@NotNull public ReadOnlyEntry getEntry()
@NotNull public java.lang.String getControlName()
getControlName
in class Control
@NotNull public JSONObject toJSONControl()
oid
-- A mandatory string field whose value is the object
identifier for this control. For the pre-read response control, the
OID is "1.3.6.1.1.13.1".
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.
value-base64
-- An optional string field whose value is a
base64-encoded representation of the raw value for this pre-read
response control. Exactly one of the value-base64
and
value-json
fields must be present.
value-json
-- An optional JSON object field whose value is a
user-friendly representation of the value for this pre-read response
control. Exactly one of the value-base64
and
value-json
fields must be present, and if the
value-json
field is used, it must include a
"_dn
" field whose value is the DN of the entry, and all other
fields will have a name that is the name of an LDAP attribute in the
entry and a value that is an array containing the string
representations of the values for that attribute.
toJSONControl
in class Control
@NotNull public static PreReadResponseControl 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 pre-read response control.