public interface SearchResultEntry extends Response, Entry
Each entry returned in a Search Result Entry will contain all appropriate attributes as specified in the Search request, subject to access control and other administrative policy.
Note that a Search Result Entry may hold zero attributes. This may happen when none of the attributes of an entry were requested or could be returned.
Note also that each returned attribute may hold zero attribute values. This may happen when only attribute types are requested, access controls prevent the return of values, or other reasons.
Modifier and Type | Method and Description |
---|---|
boolean |
addAttribute(Attribute attribute)
Ensures that this entry contains the provided attribute and values
(optional operation).
|
boolean |
addAttribute(Attribute attribute,
Collection<? super ByteString> duplicateValues)
Ensures that this entry contains the provided attribute and values
(optional operation).
|
SearchResultEntry |
addAttribute(String attributeDescription,
Object... values)
Ensures that this entry contains the provided attribute and values
(optional operation).
|
SearchResultEntry |
addControl(Control control)
Adds the provided control to this protocol-op.
|
SearchResultEntry |
addControls(Iterable<? extends Control> controls)
Adds the provided controls to this protocol-op.
|
SearchResultEntry |
clearAttributes()
Removes all the attributes from this entry (optional operation).
|
boolean |
containsAttribute(Attribute attribute,
Collection<? super ByteString> missingValues)
Returns
true if this entry contains all of the attribute values
contained in attribute . |
boolean |
containsAttribute(String attributeDescription,
Object... values)
Returns
true if this entry contains all of the attribute values
contained in values . |
Iterable<Attribute> |
getAllAttributes()
Returns an
Iterable containing all of the attributes in this
entry. |
Iterable<Attribute> |
getAllAttributes(AttributeDescription attributeDescription)
Returns an
Iterable containing all the attributes in this entry
having an attribute description which is a sub-type of the provided
attribute description. |
Iterable<Attribute> |
getAllAttributes(String attributeDescription)
Returns an
Iterable containing all the attributes in this entry
having an attribute description which is a sub-type of the provided
attribute description. |
Attribute |
getAttribute(AttributeDescription attributeDescription)
Returns the named attribute contained in this entry, or
null if
it is not included with this entry. |
Attribute |
getAttribute(String attributeDescription)
Returns the named attribute contained in this entry, or
null if
it is not included with this entry. |
int |
getAttributeCount()
Returns the number of attributes in this entry.
|
<C extends Control> |
getControl(ControlDecoder<C> decoder,
DecodeOptions options)
Decodes and returns the first control in this protocol-op having an OID
corresponding to the provided control decoder.
|
List<Control> |
getControls()
Returns a
List containing the controls included with this
protocol-op. |
Dn |
getName()
Returns the string representation of the distinguished name of this
entry.
|
boolean |
removeAttribute(Attribute attribute,
Collection<? super ByteString> missingValues)
Removes all of the attribute values contained in
attribute from
this entry if it is present (optional operation). |
boolean |
removeAttribute(AttributeDescription attributeDescription)
Removes the named attribute from this entry if it is present (optional
operation).
|
SearchResultEntry |
removeAttribute(String attributeDescription,
Object... values)
Removes all of the attribute values contained in
values from the
named attribute in this entry if it is present (optional operation). |
boolean |
replaceAttribute(Attribute attribute)
Adds all of the attribute values contained in
attribute to this
entry, replacing any existing attribute values (optional operation). |
SearchResultEntry |
replaceAttribute(String attributeDescription,
Object... values)
Adds all of the attribute values contained in
values to this
entry, replacing any existing attribute values (optional operation). |
SearchResultEntry |
setName(Dn dn)
Sets the distinguished name of this entry (optional operation).
|
SearchResultEntry |
setName(String dn)
Sets the distinguished name of this entry (optional operation).
|
containsControl
equals, hashCode, parseAttribute, parseAttribute, toString
boolean addAttribute(Attribute attribute)
Entry
matching
attribute description, then
this entry will be modified such that it contains attribute
, even
if it is empty.
matching
attribute description, then
the attribute values contained in attribute
will be merged with
the existing attribute values.
NOTE: When attribute
is non-empty, this method implements
LDAP Modify add semantics.
addAttribute
in interface Entry
attribute
- The attribute values to be added to this entry, merging with
any existing attribute values.true
if this entry changed as a result of this call.boolean addAttribute(Attribute attribute, Collection<? super ByteString> duplicateValues)
Entry
matching
attribute description, then
this entry will be modified such that it contains attribute
, even
if it is empty.
matching
attribute description, then
the attribute values contained in attribute
will be merged with
the existing attribute values.
NOTE: When attribute
is non-empty, this method implements
LDAP Modify add semantics.
addAttribute
in interface Entry
attribute
- The attribute values to be added to this entry, merging with
any existing attribute values.duplicateValues
- A collection into which duplicate values will be added, or
null
if duplicate values should not be saved.true
if this entry changed as a result of this call.SearchResultEntry addAttribute(String attributeDescription, Object... values)
Entry
matching
attribute description, then
this entry will be modified such that it contains attribute
, even
if it is empty.
matching
attribute description, then
the attribute values contained in attribute
will be merged with
the existing attribute values.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
NOTE: When attribute
is non-empty, this method implements
LDAP Modify add semantics.
addAttribute
in interface Entry
attributeDescription
- The name of the attribute whose values are to be added.values
- The attribute values to be added to this entry, merging any
existing attribute values.SearchResultEntry addControl(Control control)
ProtocolOp
addControl
in interface ProtocolOp
addControl
in interface Response
control
- The control to be added to this protocol-op.SearchResultEntry addControls(Iterable<? extends Control> controls)
ProtocolOp
addControls
in interface ProtocolOp
addControls
in interface Response
controls
- The controls to be added to this protocol-op.SearchResultEntry clearAttributes()
Entry
clearAttributes
in interface Entry
boolean containsAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
Entry
true
if this entry contains all of the attribute values
contained in attribute
. If attribute
is empty then this
method will return true
if the attribute is present in this
entry, regardless of how many values it contains.containsAttribute
in interface Entry
attribute
- The attribute values whose presence in this entry is to be
tested.missingValues
- A collection into which missing values will be added, or
null
if missing values should not be saved.true
if this entry contains all of the attribute values
contained in attribute
.boolean containsAttribute(String attributeDescription, Object... values)
Entry
true
if this entry contains all of the attribute values
contained in values
. If values
is null
or empty
then this method will return true
if the attribute is present in
this entry, regardless of how many values it contains.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
containsAttribute
in interface Entry
attributeDescription
- The name of the attribute whose presence in this entry is to
be tested.values
- The attribute values whose presence in this entry is to be
tested, which may be null
.true
if this entry contains all of the attribute values
contained in values
.Iterable<Attribute> getAllAttributes()
Entry
Iterable
containing all of the attributes in this
entry. The returned Iterable
may be used to remove attributes if
permitted by this entry.getAllAttributes
in interface Entry
Iterable
containing all of the attributes.Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription)
Entry
Iterable
containing all the attributes in this entry
having an attribute description which is a sub-type of the provided
attribute description. The returned Iterable
may be used to
remove attributes if permitted by this entry.getAllAttributes
in interface Entry
attributeDescription
- The name of the attributes to be returned.Iterable
containing the matching attributes.Iterable<Attribute> getAllAttributes(String attributeDescription)
Entry
Iterable
containing all the attributes in this entry
having an attribute description which is a sub-type of the provided
attribute description. The returned Iterable
may be used to
remove attributes if permitted by this entry.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
getAllAttributes
in interface Entry
attributeDescription
- The name of the attributes to be returned.Iterable
containing the matching attributes.Attribute getAttribute(AttributeDescription attributeDescription)
Entry
null
if
it is not included with this entry.getAttribute
in interface Entry
attributeDescription
- The name of the attribute to be returned.null
if it is not included with
this entry.Attribute getAttribute(String attributeDescription)
Entry
null
if
it is not included with this entry.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
getAttribute
in interface Entry
attributeDescription
- The name of the attribute to be returned.null
if it is not included with
this entry.int getAttributeCount()
Entry
getAttributeCount
in interface Entry
<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
ProtocolOp
getControl
in interface ProtocolOp
C
- The type of control to be decoded and returned.decoder
- The control decoder.options
- The set of decode options which should be used when decoding
the control.null
if the control is not
included with this protocol-op.DecodeException
- If the control could not be decoded because it was malformed
in some way (e.g. the control value was missing, or its
content could not be decoded).List<Control> getControls()
ProtocolOp
List
containing the controls included with this
protocol-op. The returned List
may be modified if permitted by this
protocol-op.getControls
in interface ProtocolOp
List
containing the controls.Dn getName()
Entry
boolean removeAttribute(Attribute attribute, Collection<? super ByteString> missingValues)
Entry
attribute
from
this entry if it is present (optional operation). If attribute
is
empty then the entire attribute will be removed if it is present.
NOTE: This method implements LDAP Modify delete semantics.
removeAttribute
in interface Entry
attribute
- The attribute values to be removed from this entry, which may
be empty if the entire attribute is to be removed.missingValues
- A collection into which missing values will be added, or
null
if missing values should not be saved.true
if this entry changed as a result of this call.boolean removeAttribute(AttributeDescription attributeDescription)
Entry
false
.removeAttribute
in interface Entry
attributeDescription
- The name of the attribute to be removed.true
if this entry changed as a result of this call.SearchResultEntry removeAttribute(String attributeDescription, Object... values)
Entry
values
from the
named attribute in this entry if it is present (optional operation). If
values
is null
or empty then the entire attribute will be
removed if it is present.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
NOTE: This method implements LDAP Modify delete semantics.
removeAttribute
in interface Entry
attributeDescription
- The name of the attribute whose values are to be removed.values
- The attribute values to be removed from this entry, which may
be null
or empty if the entire attribute is to be
removed.boolean replaceAttribute(Attribute attribute)
Entry
attribute
to this
entry, replacing any existing attribute values (optional operation). If
attribute
is empty then the entire attribute will be removed if
it is present.
NOTE: This method implements LDAP Modify replace semantics as described in RFC 4511 - Section 4.6. Modify Operation.
replaceAttribute
in interface Entry
attribute
- The attribute values to be added to this entry, replacing any
existing attribute values, and which may be empty if the
entire attribute is to be removed.true
if this entry changed as a result of this call.SearchResultEntry replaceAttribute(String attributeDescription, Object... values)
Entry
values
to this
entry, replacing any existing attribute values (optional operation). If
values
is null
or empty then the entire attribute will be
removed if it is present.
The attribute description will be decoded using the schema associated with this entry (usually the default schema).
Any attribute values which are not instances of ByteString
will
be converted using the ByteString.valueOfObject(Object)
method.
NOTE: This method implements LDAP Modify replace semantics as described in RFC 4511 - Section 4.6. Modify Operation.
replaceAttribute
in interface Entry
attributeDescription
- The name of the attribute whose values are to be replaced.values
- The attribute values to be added to this entry, replacing any
existing attribute values, and which may be null
or
empty if the entire attribute is to be removed.SearchResultEntry setName(Dn dn)
Entry
SearchResultEntry setName(String dn)
Entry
The distinguished name will be decoded using the schema associated with this entry (usually the default schema).
Copyright 2011-2017 ForgeRock AS.