Package org.ldaptive
Class SearchResponse
java.lang.Object
org.ldaptive.AbstractMessage
org.ldaptive.AbstractResult
org.ldaptive.SearchResponse
Response that encapsulates the result elements of a search request. This class formally decodes the SearchResultDone
LDAP message defined as:
SearchResultDone ::= [APPLICATION 5] LDAPResult
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.ldaptive.AbstractResult
AbstractResult.AbstractBuilder<B,T extends AbstractResult>, AbstractResult.DiagnosticMessageHandler, AbstractResult.MatchedDNHandler, AbstractResult.ReferralHandler, AbstractResult.ResultCodeHandler Nested classes/interfaces inherited from class org.ldaptive.AbstractMessage
AbstractMessage.ControlParser, AbstractMessage.ControlsHandler, AbstractMessage.MessageIDHandler -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final DERPathDER path to diagnostic message.private static final inthash code seed.private booleanWhether this object has been marked immutable.private static final DERPathDER path to matched DN.static final intBER protocol number.private static final DERPathDER path to referral.private static final DERPathDER path to result code.Entries contained in this result.private final List<SearchResultReference>Search result references contained in this result. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.SearchResponse(DERBuffer buffer) Creates a new search result done. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddEntries(Collection<LdapEntry> entries) Adds entry(s) to this search result.voidaddEntries(LdapEntry... entry) Adds an entry to this search result.voidaddReferences(Collection<SearchResultReference> references) Adds references(s) to this search result.voidaddReferences(SearchResultReference... reference) Adds a reference to this search result.voidAsserts that this object is in a state to permit mutations.static SearchResponse.Builderbuilder()Creates a builder for this class.static SearchResponsecopy(SearchResponse response) Creates a mutable copy of the supplied search response.intReturns the number of entries in this search result.booleanvoidfreeze()Freezes this object, making it immutable.Returns the entries in this search result.getEntry()Returns a single entry of this search result.Returns the ldap entry in this result with the supplied DN.Returns the entry DNs in this result.Returns a single search reference of this result.Returns a collection of search result reference.inthashCode()Returns the hash code for this object.booleanisFrozen()Determines whether this object is frozen, i.e. immutable.intReturns the number of references in this search result.voidremoveEntries(Collection<LdapEntry> entries) Removes entry(s) from this search result.voidremoveEntries(LdapEntry... entry) Removes an entry from this search result.voidremoveReferences(Collection<SearchResultReference> references) Removes references(s) from this search result.voidremoveReferences(SearchResultReference... reference) Removes a reference from this search result.static SearchResponsesort(SearchResponse result) Returns a new response whose entries are sorted naturally by DN.subResult(int fromIndex, int toIndex) Returns a portion of this result between the specified fromIndex, inclusive, and toIndex, exclusive.toString()Methods inherited from class org.ldaptive.AbstractResult
addReferralURLs, copyValues, equalsResult, getDiagnosticMessage, getMatchedDN, getReferralURLs, getResultCode, setDiagnosticMessage, setMatchedDN, setResultCodeMethods inherited from class org.ldaptive.AbstractMessage
addControls, copyValues, equalsMessage, getControls, getMessageID, setMessageIDMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.ldaptive.Message
getControl, getControls, getMessageIDMethods inherited from interface org.ldaptive.Result
getEncodedDiagnosticMessage, isSuccess
-
Field Details
-
PROTOCOL_OP
public static final int PROTOCOL_OPBER protocol number.- See Also:
-
HASH_CODE_SEED
private static final int HASH_CODE_SEEDhash code seed.- See Also:
-
RESULT_CODE_PATH
DER path to result code. -
MATCHED_DN_PATH
DER path to matched DN. -
DIAGNOSTIC_MESSAGE_PATH
DER path to diagnostic message. -
REFERRAL_PATH
DER path to referral. -
resultEntries
Entries contained in this result. -
resultReferences
Search result references contained in this result. -
immutable
private volatile boolean immutableWhether this object has been marked immutable.
-
-
Constructor Details
-
SearchResponse
public SearchResponse()Default constructor. -
SearchResponse
Creates a new search result done.- Parameters:
buffer- to decode
-
-
Method Details
-
freeze
public void freeze()Description copied from interface:FreezableFreezes this object, making it immutable. -
isFrozen
public boolean isFrozen()Description copied from interface:FreezableDetermines whether this object is frozen, i.e. immutable.- Specified by:
isFrozenin interfaceFreezable- Returns:
- True if
Freezable.freeze()has been invoked, false otherwise.
-
assertMutable
public void assertMutable()Description copied from interface:FreezableAsserts that this object is in a state to permit mutations. Classes that implement this interface should invoke this method prior to performing any mutation of internal state as a means of implementing the "frozen" usage contract.- Specified by:
assertMutablein interfaceFreezable
-
getEntries
Returns the entries in this search result. Collection will be immutable ifimmutableis true.- Returns:
- collection of ldap entry
-
getEntry
Returns a single entry of this search result. If multiple entries exist the first entry returned by the underlying iterator is used. If no entries exist null is returned.- Returns:
- search result entry
-
getEntry
Returns the ldap entry in this result with the supplied DN. DN comparison is attempted with a normalized string comparison, seeDefaultRDnNormalizer.- Parameters:
dn- of the entry to return- Returns:
- search result entry or null if no entry matching the dn could be found
- Throws:
IllegalArgumentException- if the supplied dn cannot be normalized
-
getEntryDns
Returns the entry DNs in this result.- Returns:
- entry DNs
-
addEntries
Adds an entry to this search result.- Parameters:
entry- entry to add
-
addEntries
Adds entry(s) to this search result.- Parameters:
entries- collection of entries to add
-
removeEntries
Removes an entry from this search result.- Parameters:
entry- entry to remove
-
removeEntries
Removes entry(s) from this search result.- Parameters:
entries- collection of entries to remove
-
entrySize
public int entrySize()Returns the number of entries in this search result.- Returns:
- number of entries in this search result
-
getReferences
Returns a collection of search result reference.- Returns:
- collection of search result reference
-
getReference
Returns a single search reference of this result. If multiple references exist the first references returned by the underlying iterator is used. If no references exist null is returned.- Returns:
- search result references
-
addReferences
Adds a reference to this search result.- Parameters:
reference- reference to add
-
addReferences
Adds references(s) to this search result.- Parameters:
references- collection of references to add
-
removeReferences
Removes a reference from this search result.- Parameters:
reference- reference to remove
-
removeReferences
Removes references(s) from this search result.- Parameters:
references- collection of references to remove
-
referenceSize
public int referenceSize()Returns the number of references in this search result.- Returns:
- number of references in this search result
-
subResult
Returns a portion of this result between the specified fromIndex, inclusive, and toIndex, exclusive. If fromIndex and toIndex are equal, the return result is empty. The result of this method is undefined for unordered results.- Parameters:
fromIndex- low endpoint of the search result (inclusive)toIndex- high endpoint of the search result (exclusive)- Returns:
- portion of this search result
- Throws:
IndexOutOfBoundsException- for illegal index values
-
equals
- Overrides:
equalsin classAbstractResult
-
hashCode
public int hashCode()Description copied from class:AbstractMessageReturns the hash code for this object.- Specified by:
hashCodein classAbstractMessage- Returns:
- hash code
-
toString
- Overrides:
toStringin classAbstractResult
-
copy
Creates a mutable copy of the supplied search response.- Parameters:
response- to copy- Returns:
- new search response instance
-
sort
Returns a new response whose entries are sorted naturally by DN. Each attribute and each attribute value are also sorted. SeeLdapEntry.sort(LdapEntry)andLdapAttribute.sort(LdapAttribute).- Parameters:
result- response to sort- Returns:
- sorted response
-
builder
Creates a builder for this class.- Returns:
- new builder
-