Class AccessLogFieldRequestControl
- java.lang.Object
-
- com.unboundid.ldap.sdk.Control
-
- com.unboundid.ldap.sdk.unboundidds.controls.AccessLogFieldRequestControl
-
- All Implemented Interfaces:
java.io.Serializable
@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class AccessLogFieldRequestControl extends Control
This class provides a request control that can be included in any type of request to indicate that the server should include one or more fields, specified as name-value pairs, that should appear in the Ping Identity Directory Server's access log message for the operation.
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 OID for this control is 1.3.6.1.4.1.30221.2.5.66, the criticality may be eithertrue
orfalse
. Its value should be the string representation of a JSON object whose fields will represent the fields to include in the access log message for the operation. The JSON object may only include Boolean, number, and string fields; array, null, and object fields will not be permitted.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ACCESS_LOG_FIELD_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.66) for the generate access token request control.
-
Constructor Summary
Constructors Constructor Description AccessLogFieldRequestControl(boolean isCritical, JSONField... fields)
Creates a new access log field request control with the specified criticality.AccessLogFieldRequestControl(boolean isCritical, JSONObject fieldsObject)
Creates a new access log field request control with the specified criticality.AccessLogFieldRequestControl(boolean isCritical, java.util.Collection<JSONField> fields)
Creates a new access log field request control with the specified criticality.AccessLogFieldRequestControl(Control control)
Creates a new access log field request control which is decoded from the provided generic control.AccessLogFieldRequestControl(JSONField... fields)
Creates a new access log field request control with the provided fields.AccessLogFieldRequestControl(java.util.Collection<JSONField> fields)
Creates a new access log field request control with the provided fields.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AccessLogFieldRequestControl
decodeJSONControl(JSONObject controlObject, boolean strict)
Attempts to decode the provided object as a JSON representation of an access log field request control.java.lang.String
getControlName()
Retrieves the user-friendly name for this control, if available.JSONObject
getFieldsObject()
Retrieves a JSON object containing the set of fields to include in the access log message.JSONObject
toJSONControl()
Retrieves a representation of this generate access token request control as a JSON object.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, decodeJSONControl, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
-
-
-
-
Field Detail
-
ACCESS_LOG_FIELD_REQUEST_OID
@NotNull public static final java.lang.String ACCESS_LOG_FIELD_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.66) for the generate access token request control.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AccessLogFieldRequestControl
public AccessLogFieldRequestControl(@NotNull JSONField... fields) throws LDAPException
Creates a new access log field request control with the provided fields. It will not be marked critical.- Parameters:
fields
- The set of fields to include in the access log message. It must not benull
or empty, and the values may only have Boolean, number, or string types. Array, null, and object fields will not be allowed.- Throws:
LDAPException
- If the provided set of fields is not acceptable.
-
AccessLogFieldRequestControl
public AccessLogFieldRequestControl(@NotNull java.util.Collection<JSONField> fields) throws LDAPException
Creates a new access log field request control with the provided fields. It will not be marked critical.- Parameters:
fields
- The set of fields to include in the access log message. It must not benull
or empty, and the values may only have Boolean, number, or string types. Array, null, and object fields will not be allowed.- Throws:
LDAPException
- If the provided set of fields is not acceptable.
-
AccessLogFieldRequestControl
public AccessLogFieldRequestControl(boolean isCritical, @NotNull JSONField... fields) throws LDAPException
Creates a new access log field request control with the specified criticality.- Parameters:
isCritical
- Indicates whether this control should be marked critical.fields
- The set of fields to include in the access log message. It must not benull
or empty, and the values may only have Boolean, number, or string types. Array, null, and object fields will not be allowed.- Throws:
LDAPException
- If the provided set of fields is not acceptable.
-
AccessLogFieldRequestControl
public AccessLogFieldRequestControl(boolean isCritical, @NotNull java.util.Collection<JSONField> fields) throws LDAPException
Creates a new access log field request control with the specified criticality.- Parameters:
isCritical
- Indicates whether this control should be marked critical.fields
- The set of fields to include in the access log message. It must not benull
or empty, and the values may only have Boolean, number, or string types. Array, null, and object fields will not be allowed.- Throws:
LDAPException
- If the provided set of fields is not acceptable.
-
AccessLogFieldRequestControl
public AccessLogFieldRequestControl(boolean isCritical, @NotNull JSONObject fieldsObject) throws LDAPException
Creates a new access log field request control with the specified criticality.- Parameters:
isCritical
- Indicates whether this control should be marked critical.fieldsObject
- A JSON object containing the set of fields to include in the access log message. It must not benull
, it must have at least one field, and it may only have Boolean, number, or string fields. Array, null, and object fields will not be allowed.- Throws:
LDAPException
- If the provided object has an unacceptable set of fields.
-
AccessLogFieldRequestControl
public AccessLogFieldRequestControl(@NotNull Control control) throws LDAPException
Creates a new access log field request control which is decoded from the provided generic control.- Parameters:
control
- The generic control to be decoded as an access log field request control.- Throws:
LDAPException
- If the provided control cannot be decoded as an access log field request control.
-
-
Method Detail
-
getFieldsObject
@NotNull public JSONObject getFieldsObject()
Retrieves a JSON object containing the set of fields to include in the access log message.- Returns:
- A JSON object containing the set of fields to include in the access log message.
-
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.
-
toJSONControl
@NotNull public JSONObject toJSONControl()
Retrieves a representation of this generate access token request control as a JSON object. The JSON object uses the following fields:-
oid
-- A mandatory string field whose value is the object identifier for this control. For the access log field request control, the OID is "1.3.6.1.4.1.30221.2.5.66". -
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, theoid
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 access log field request control. Exactly one of thevalue-base64
andvalue-json
fields must be present. -
value-json
-- An optional JSON object field in which the object contains the set of fields to include in the access log message. Exactly one of thevalue-base64
andvalue-json
fields must be present, and if thevalue-json
field is used, then the object must not be empty and it must contain only Boolean, number, and string fields.
- Overrides:
toJSONControl
in classControl
- Returns:
- A JSON object that contains a representation of this control.
-
-
decodeJSONControl
@NotNull public static AccessLogFieldRequestControl decodeJSONControl(@NotNull JSONObject controlObject, boolean strict) throws LDAPException
Attempts to decode the provided object as a JSON representation of an access log field 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 access log field request control that was decoded from the provided JSON object.
- Throws:
LDAPException
- If the provided JSON object cannot be parsed as a valid access log field request control.
-
-