public final class SubentriesRequestControl extends Object implements Control
In the absence of the sub-entries request control, sub-entries are not
visible to search operations unless the target/base of the operation is a
sub-entry. In the presence of the sub-entry request control, sub-entries are
visible if and only if the control's value is TRUE
.
Consider "Class of Service" sub-entries such as the following:
dn: cn=Gold Class of Service,dc=example,dc=com objectClass: collectiveAttributeSubentry objectClass: extensibleObject objectClass: subentry objectClass: top cn: Gold Class of Service diskQuota;collective: 100 GB mailQuota;collective: 10 GB subtreeSpecification: { base "ou=People", specificationFilter "(classOfService= gold)" }To access the sub-entries in your search, use the control with value
TRUE
.
Connection connection = ...; SearchRequest request = Requests.newSearchRequest("dc=example,dc=com", SearchScope.WHOLE_SUBTREE, "cn=*Class of Service", "cn", "subtreeSpecification") .addControl(SubentriesRequestControl.newControl(true, true)); ConnectionEntryReader reader = connection.search(request); while (reader.hasNext()) { if (reader.isEntry()) { SearchResultEntry entry = reader.readEntry(); // ... } }
Modifier and Type | Field and Description |
---|---|
static ControlDecoder<SubentriesRequestControl> |
DECODER
A decoder which can be used for decoding the sub-entries request control.
|
static String |
OID
The OID for the sub-entries request control.
|
Modifier and Type | Method and Description |
---|---|
String |
getOid()
Returns the numeric OID associated with this control.
|
ByteString |
getValue()
Returns the value, if any, associated with this control.
|
boolean |
getVisibility()
Returns a boolean indicating whether sub-entries should be
included in the search results.
|
boolean |
hasValue()
Returns
true if this control has a value. |
boolean |
isCritical()
Returns
true if it is unacceptable to perform the operation
without applying the semantics of this control. |
static SubentriesRequestControl |
newControl(boolean isCritical,
boolean visibility)
Creates a new sub-entries request control having the provided criticality
and sub-entry visibility.
|
String |
toString() |
public static final String OID
public static final ControlDecoder<SubentriesRequestControl> DECODER
public static SubentriesRequestControl newControl(boolean isCritical, boolean visibility)
isCritical
- true
if it is unacceptable to perform the operation
without applying the semantics of this control, or
false
if it can be ignored.visibility
- true
if sub-entries should be included in the search
results and normal entries excluded, or false
if
normal entries should be included and sub-entries excluded.public String getOid()
Control
public ByteString getValue()
Control
public boolean getVisibility()
true
if sub-entries should be included in the search
results and normal entries excluded, or false
if normal
entries should be included and sub-entries excluded.public boolean hasValue()
Control
true
if this control has a value. In some circumstances
it may be useful to determine if a control has a value, without actually
calculating the value and incurring any performance costs.public boolean isCritical()
Control
true
if it is unacceptable to perform the operation
without applying the semantics of this control.
The criticality field only has meaning in controls attached to request
messages (except UnbindRequest). For controls attached to response
messages and the UnbindRequest, the criticality field SHOULD be
false
, and MUST be ignored by the receiving protocol peer. A
value of true
indicates that it is unacceptable to perform the
operation without applying the semantics of the control.
isCritical
in interface Control
true
if this control must be processed by the Directory
Server, or false
if it can be ignored.Copyright 2010-2022 ForgeRock AS.