@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class OperationPurposeRequestControl 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
.
It must have a value with the following encoding:
OperationPurposeRequest ::= SEQUENCE { applicationName [0] OCTET STRING OPTIONAL, applicationVersion [1] OCTET STRING OPTIONAL, codeLocation [2] OCTET STRING OPTIONAL, requestPurpose [3] OCTET STRING OPTIONAL ... }At least one of the elements in the value sequence must be present.
SearchRequest searchRequest = new SearchRequest("dc=example,dc=com", SearchScope.SUB, Filter.createEqualityFilter("uid", uidValue), "1.1"); searchRequest.addControl(new OperationPurposeRequestControl(appName, appVersion, 0, "Retrieve the entry for a user with a given uid")); Entry userEntry = connection.searchForEntry(searchRequest); SimpleBindRequest bindRequest = new SimpleBindRequest(userEntry.getDN(), password, new OperationPurposeRequestControl(appName, appVersion, 0, "Bind as a user to verify the provided credentials.")); BindResult bindResult = connection.bind(bindRequest);
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
OPERATION_PURPOSE_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.19) for the operation purpose request
control.
|
Constructor and Description |
---|
OperationPurposeRequestControl(boolean isCritical,
java.lang.String applicationName,
java.lang.String applicationVersion,
java.lang.String codeLocation,
java.lang.String requestPurpose)
Creates a new operation purpose request control with the provided
information.
|
OperationPurposeRequestControl(Control control)
Creates a new operation purpose request control which is decoded from the
provided generic control.
|
OperationPurposeRequestControl(java.lang.String applicationName,
java.lang.String applicationVersion,
int codeLocationFrames,
java.lang.String requestPurpose)
Creates a new operation purpose request control with the provided
information.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getApplicationName()
Retrieves the name of the application that generated the associated
request, if available.
|
java.lang.String |
getApplicationVersion()
Retrieves information about the version of the application that generated
the associated request, if available.
|
java.lang.String |
getCodeLocation()
Retrieves information about the location in the application code in which
the associated request was created, if available.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
java.lang.String |
getRequestPurpose()
Retrieves a message with information about the purpose of the associated
request, if available.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP control to the provided
buffer.
|
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, registerDecodeableControl, toString, writeTo
@NotNull public static final java.lang.String OPERATION_PURPOSE_REQUEST_OID
public OperationPurposeRequestControl(@Nullable java.lang.String applicationName, @Nullable java.lang.String applicationVersion, int codeLocationFrames, @Nullable java.lang.String requestPurpose)
false
, then at least one of the
applicationName, applicationVersion, and requestPurpose arguments must
be non-null
.applicationName
- The name of the application generating the
associated request. It may be null
if
this should not be included in the control.applicationVersion
- Information about the version of the
application generating the associated request.
It may be null
if this should not be
included in the control.codeLocationFrames
- Indicates that the code location should be
automatically generated with a condensed stack
trace for the current thread, using the
specified number of stack frames. A value that
is less than or equal to zero indicates an
unlimited number of stack frames should be
included.requestPurpose
- A string identifying the purpose of the
associated request. It may be null
if
this should not be included in the control.public OperationPurposeRequestControl(boolean isCritical, @Nullable java.lang.String applicationName, @Nullable java.lang.String applicationVersion, @Nullable java.lang.String codeLocation, @Nullable java.lang.String requestPurpose)
null
.isCritical
- Indicates whether the control should be
considered critical.applicationName
- The name of the application generating the
associated request. It may be null
if
this should not be included in the control.applicationVersion
- Information about the version of the
application generating the associated request.
It may be null
if this should not be
included in the control.codeLocation
- Information about the location in the
application code in which the associated
request is generated (e.g., the class and/or
method name, or any other useful identifier).
It may be null
if this should not be
included in the control.requestPurpose
- A string identifying the purpose of the
associated request. It may be null
if
this should not be included in the control.public OperationPurposeRequestControl(@NotNull Control control) throws LDAPException
control
- The generic control to be decoded as an operation purpose
request control.LDAPException
- If the provided control cannot be decoded as an
operation purpose request control.@Nullable public java.lang.String getApplicationName()
null
if that is not available.@Nullable public java.lang.String getApplicationVersion()
null
if that is not available.@Nullable public java.lang.String getCodeLocation()
null
if that is not
available.@Nullable public java.lang.String getRequestPurpose()
null
if that is not available.@NotNull public java.lang.String getControlName()
getControlName
in class Control