@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class RouteToBackendSetRequestControl 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.
selectBackendSets
method.true
or
false
. It must have a value with the following encoding:
RouteToBackendSetRequest ::= SEQUENCE { entryBalancingRequestProcessorID OCTET STRING, backendSets CHOICE { absoluteRoutingRequest [0] SET OF OCTET STRING, routingHint [1] SEQUENCE { firstGuessSetIDs SET OF OCTET STRING, fallbackSetIDs SET OF OCTET STRING OPTIONAL } ... } ... }The use of the route to backend set request control will also cause the server to behave as if the get backend set ID request control had been included, so that the get backend set ID response control may be included in operation result and search result entry messages as appropriate.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ROUTE_TO_BACKEND_SET_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.5.35) for the route to server request control.
|
Constructor and Description |
---|
RouteToBackendSetRequestControl(Control control)
Creates a new route to backend set request control that is decoded from the
provided generic control.
|
Modifier and Type | Method and Description |
---|---|
static RouteToBackendSetRequestControl |
createAbsoluteRoutingRequest(boolean isCritical,
java.lang.String entryBalancingRequestProcessorID,
java.util.Collection<java.lang.String> backendSetIDs)
Creates a new route to backend set request control that may be used for
absolute routing to the specified collection of backend sets.
|
static RouteToBackendSetRequestControl |
createAbsoluteRoutingRequest(boolean isCritical,
java.lang.String entryBalancingRequestProcessorID,
java.lang.String backendSetID)
Creates a new route to backend set request control that may be used for
absolute routing to the specified backend set.
|
static RouteToBackendSetRequestControl |
createRoutingHintRequest(boolean isCritical,
java.lang.String entryBalancingRequestProcessorID,
java.util.Collection<java.lang.String> firstGuessSetIDs,
java.util.Collection<java.lang.String> fallbackSetIDs)
Creates a new route to backend set request control that may be used to
provide a hint as to the backend set(s) to which the operation should be
forwarded, and an optional specification of fallback sets.
|
static RouteToBackendSetRequestControl |
createRoutingHintRequest(boolean isCritical,
java.lang.String entryBalancingRequestProcessorID,
java.lang.String firstGuessSetID,
java.util.Collection<java.lang.String> fallbackSetIDs)
Creates a new route to backend set request control that may be used to
provide a hint as to the backend set to which the operation should be
forwarded, and an optional specification of fallback sets.
|
java.util.Set<java.lang.String> |
getAbsoluteBackendSetIDs()
Retrieves the collection of backend set IDs for the backend sets to which
the request should be forwarded if the control uses absolute routing.
|
java.lang.String |
getControlName()
Retrieves the user-friendly name for this control, if available.
|
java.lang.String |
getEntryBalancingRequestProcessorID()
Retrieves the identifier for the entry-balancing request processor with
which the backend set IDs are associated.
|
java.util.Set<java.lang.String> |
getRoutingHintFallbackSetIDs()
Retrieves the collection of backend set IDs to which the request should be
forwarded if the control uses a routing hint and an explicit group of
fallback sets was specified.
|
java.util.Set<java.lang.String> |
getRoutingHintFirstGuessSetIDs()
Retrieves the collection of backend set IDs for the first guess of backend
sets to which the request should be forwarded if the control uses a routing
hint.
|
RouteToBackendSetRoutingType |
getRoutingType()
Retrieves the type of routing requested by this control.
|
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 ROUTE_TO_BACKEND_SET_REQUEST_OID
public RouteToBackendSetRequestControl(@NotNull Control control) throws LDAPException
control
- The control to decode as a route to backend set request
control.LDAPException
- If the provided control cannot be decoded as a
route to backend set request control.@NotNull public static RouteToBackendSetRequestControl createAbsoluteRoutingRequest(boolean isCritical, @NotNull java.lang.String entryBalancingRequestProcessorID, @NotNull java.lang.String backendSetID)
isCritical
- Indicates whether the control
should be marked critical.entryBalancingRequestProcessorID
- The identifier for the
entry-balancing request processor
with which the backend set ID
is associated. It must not be
null
.backendSetID
- The backend set ID for the
backend set to which the request
should be forwarded. It must not
be null
.@NotNull public static RouteToBackendSetRequestControl createAbsoluteRoutingRequest(boolean isCritical, @NotNull java.lang.String entryBalancingRequestProcessorID, @NotNull java.util.Collection<java.lang.String> backendSetIDs)
isCritical
- Indicates whether the control
should be marked critical.entryBalancingRequestProcessorID
- The identifier for the
entry-balancing request processor
with which the backend set IDs
are associated. It must not be
null
.backendSetIDs
- The backend set IDs for the
backend sets to which the request
should be forwarded. It must not
be null
or empty.@NotNull public static RouteToBackendSetRequestControl createRoutingHintRequest(boolean isCritical, @NotNull java.lang.String entryBalancingRequestProcessorID, @NotNull java.lang.String firstGuessSetID, @Nullable java.util.Collection<java.lang.String> fallbackSetIDs)
isCritical
- Indicates whether the control
should be marked critical.entryBalancingRequestProcessorID
- The identifier for the
entry-balancing request processor
with which the backend set IDs
are associated. It must not be
null
.firstGuessSetID
- The backend set ID for the
backend set to try first. It
must not be null
.fallbackSetIDs
- The backend set ID(s) for the
backend set(s) to use if none of
the servers in the first guess
set returns a success result.
If this is null
, then the
server will use a default
fallback set of all backend sets
except for the first guess set.
If this is not null
, then
it must also be non-empty.@NotNull public static RouteToBackendSetRequestControl createRoutingHintRequest(boolean isCritical, @NotNull java.lang.String entryBalancingRequestProcessorID, @NotNull java.util.Collection<java.lang.String> firstGuessSetIDs, @Nullable java.util.Collection<java.lang.String> fallbackSetIDs)
isCritical
- Indicates whether the control
should be marked critical.entryBalancingRequestProcessorID
- The identifier for the
entry-balancing request processor
with which the backend set IDs
are associated. It must not be
null
.firstGuessSetIDs
- The backend set ID(s) for the
backend set(s) to try first. It
must not be null
or
empty.fallbackSetIDs
- The backend set ID(s) for the
backend set(s) to use if none of
the servers in the first guess
set returns a success result.
If this is null
, then the
server will use a default
fallback set of all backend sets
not included in the first guess.
If this is not null
, then
it must also be non-empty.@NotNull public java.lang.String getEntryBalancingRequestProcessorID()
@NotNull public RouteToBackendSetRoutingType getRoutingType()
@Nullable public java.util.Set<java.lang.String> getAbsoluteBackendSetIDs()
null
if the control uses a routing hint.@Nullable public java.util.Set<java.lang.String> getRoutingHintFirstGuessSetIDs()
null
if the control uses absolute
routing.@Nullable public java.util.Set<java.lang.String> getRoutingHintFallbackSetIDs()
null
if the
control uses absolute routing or if a default group of fallback
sets (all sets not included in the first guess) should be used.@NotNull public java.lang.String getControlName()
getControlName
in class Control