@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, toString, writeTo
public static final java.lang.String ROUTE_TO_BACKEND_SET_REQUEST_OID
public RouteToBackendSetRequestControl(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.public static RouteToBackendSetRequestControl createAbsoluteRoutingRequest(boolean isCritical, java.lang.String entryBalancingRequestProcessorID, 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
.public static RouteToBackendSetRequestControl createAbsoluteRoutingRequest(boolean isCritical, java.lang.String entryBalancingRequestProcessorID, 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.public static RouteToBackendSetRequestControl createRoutingHintRequest(boolean isCritical, java.lang.String entryBalancingRequestProcessorID, java.lang.String firstGuessSetID, 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.public static RouteToBackendSetRequestControl createRoutingHintRequest(boolean isCritical, java.lang.String entryBalancingRequestProcessorID, java.util.Collection<java.lang.String> firstGuessSetIDs, 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.public java.lang.String getEntryBalancingRequestProcessorID()
public RouteToBackendSetRoutingType getRoutingType()
public java.util.Set<java.lang.String> getAbsoluteBackendSetIDs()
null
if the control uses a routing hint.public java.util.Set<java.lang.String> getRoutingHintFirstGuessSetIDs()
null
if the control uses absolute
routing.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.public java.lang.String getControlName()
getControlName
in class Control