public class SearchOperationBasis extends AbstractOperation implements PreParseSearchOperation, PostResponseSearchOperation, SearchEntrySearchOperation, SearchReferenceSearchOperation, SearchOperation
cancelRequest, cancelResult, clientConnection, messageID, NO_RESPONSE_CONTROLS, operationID
LOCALBACKENDOPERATIONS
Constructor and Description |
---|
SearchOperationBasis(ClientConnection clientConnection,
long operationID,
int messageID,
org.forgerock.opendj.ldap.messages.SearchRequest request)
Creates a new search operation with the provided information.
|
Modifier and Type | Method and Description |
---|---|
void |
abort(CancelRequest cancelRequest)
Attempts to abort this operation before processing has
completed.
|
void |
addResponseControl(Control control)
Adds the provided control to the set of controls to include in
the response to the client.
|
Set<String> |
getAttributes()
Retrieves the set of requested attributes for this search
operation.
|
org.forgerock.opendj.ldap.Dn |
getBaseDN()
Retrieves the base DN for this search operation.
|
org.forgerock.opendj.ldap.DereferenceAliasesPolicy |
getDerefPolicy()
Retrieves the alias dereferencing policy for this search
operation.
|
int |
getEntriesSent()
Retrieves the number of entries sent to the client for this
search operation.
|
SearchFilter |
getFilter()
Retrieves the filter for this search operation.
|
MatchedValuesControl |
getMatchedValuesControl()
The matched values control associated with this search operation.
|
OperationType |
getOperationType()
Retrieves the operation type for this operation.
|
org.forgerock.opendj.ldap.Dn |
getProxiedAuthorizationDN()
Retrieves the proxied authorization DN for this operation if proxied
authorization has been requested.
|
org.forgerock.opendj.ldap.ByteString |
getRawBaseDN()
Retrieves the raw, unprocessed base DN as included in the request
from the client.
|
RawFilter |
getRawFilter()
Retrieves the raw, unprocessed search filter as included in the
request from the client.
|
int |
getReferencesSent()
Retrieves the number of search references sent to the client for
this search operation.
|
List<Control> |
getResponseControls()
Retrieves the set of controls to include in the response to the
client.
|
org.forgerock.opendj.ldap.SearchScope |
getScope()
Retrieves the scope for this search operation.
|
int |
getSizeLimit()
Retrieves the size limit for this search operation.
|
int |
getTimeLimit()
Retrieves the time limit for this search operation.
|
long |
getTimeLimitExpiration()
Get the time after which the search time limit has expired.
|
boolean |
getTypesOnly()
Retrieves the typesOnly flag for this search operation.
|
boolean |
isClientAcceptsReferrals()
Indicates whether the client is able to handle referrals.
|
boolean |
isIncludeUsableControl()
Indicates whether to include the account usable response control with
search result entries or not.
|
boolean |
isRealAttributesOnly()
Returns true if only real attributes should be returned.
|
boolean |
isReturnSubentriesOnly()
Indicates whether LDAP subentries should be returned or not.
|
boolean |
isSendResponse()
Indicates whether the search result done message has to be sent
to the client, or not.
|
boolean |
isVirtualAttributesOnly()
Returns true if only virtual attributes should be returned.
|
void |
removeResponseControl(Control control)
Removes the provided control from the set of controls to include
in the response to the client.
|
boolean |
returnEntry(Entry entry,
List<Control> controls)
Returns the provided entry to the client.
|
boolean |
returnEntry(Entry entry,
List<Control> controls,
boolean evaluateAci)
Used as a callback for backends to indicate that the provided entry matches
the search criteria and that additional processing should be performed to
potentially send it back to the client.
|
boolean |
returnReference(org.forgerock.opendj.ldap.Dn dn,
SearchResultReference reference)
Returns the provided search result reference to the client.
|
boolean |
returnReference(org.forgerock.opendj.ldap.Dn dn,
SearchResultReference reference,
boolean evaluateAci)
Used as a callback for backends to indicate that the provided search
reference was encountered during processing and that additional processing
should be performed to potentially send it back to the client.
|
void |
run()
Performs the work of actually processing this operation.
|
void |
sendSearchEntry(SearchResultEntry searchEntry)
Sends the provided search result entry to the client.
|
boolean |
sendSearchReference(SearchResultReference searchReference)
Sends the provided search result reference to the client.
|
void |
sendSearchResultDone()
Sends the search result done message to the client.
|
void |
setAttributes(Set<String> attributes)
Specifies the set of requested attributes for this search
operation.
|
void |
setBaseDN(org.forgerock.opendj.ldap.Dn baseDN)
Specifies the base DN for this search operation.
|
void |
setClientAcceptsReferrals(boolean clientAcceptReferrals)
Specify whether the client is able to handle referrals.
|
void |
setDerefPolicy(org.forgerock.opendj.ldap.DereferenceAliasesPolicy derefPolicy)
Specifies the alias dereferencing policy for this search
operation.
|
void |
setIncludeUsableControl(boolean includeUsableControl)
Specify whether to include the account usable response control within the
search result entries.
|
void |
setMatchedValuesControl(MatchedValuesControl controls)
Set the match values control.
|
void |
setProxiedAuthorizationDN(org.forgerock.opendj.ldap.Dn proxiedAuthorizationDN)
Set the proxied authorization DN for this operation if proxied
authorization has been requested.
|
void |
setRawBaseDN(org.forgerock.opendj.ldap.ByteString rawBaseDN)
Specifies the raw, unprocessed base DN for this search operation.
|
void |
setRawFilter(RawFilter rawFilter)
Specifies the raw, unprocessed search filter as included in the
request from the client.
|
void |
setRealAttributesOnly(boolean realAttributesOnly)
Specify whether to only return real attributes.
|
void |
setReturnSubentriesOnly(boolean returnLDAPSubentries)
Set the flag indicating whether the LDAP subentries should be returned.
|
void |
setScope(org.forgerock.opendj.ldap.SearchScope scope)
Specifies the scope for this search operation.
|
void |
setSendResponse(boolean sendResponse)
Specify whether the search result done message has to be sent
to the client, or not.
|
void |
setSizeLimit(int sizeLimit)
Specifies the size limit for this search operation.
|
void |
setTimeLimit(int timeLimit)
Specifies the time limit for this search operation.
|
void |
setTimeLimitExpiration(long timeLimitExpiration)
Set the time after which the search time limit has expired.
|
void |
setTypesOnly(boolean typesOnly)
Specifies the typesOnly flag for this search operation.
|
void |
setVirtualAttributesOnly(boolean virtualAttributesOnly)
Specify whether to only return virtual attributes.
|
void |
toString(StringBuilder buffer)
Appends a string representation of this operation to the provided
buffer.
|
void |
updateOperationErrMsgAndResCode()
Updates the error message and the result code of the operation.
|
addAdditionalLogItem, addRequestControl, appendErrorMessage, appendMaskedErrorMessage, cancel, checkIfCanceled, disconnectClient, dontSynchronize, equals, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getCancelRequest, getCancelResult, getClientConnection, getConnectionID, getErrorMessage, getMaskedErrorMessage, getMaskedResultCode, getMatchedDN, getMessageID, getOperationID, getProcessingNanoTime, getProcessingStartTime, getProcessingStopTime, getProcessingTime, getReferralURLs, getRequestControl, getRequestControls, getResultCode, hashCode, invokePostResponseCallbacks, isInnerOperation, isInternalOperation, isSynchronizationOperation, operationCompleted, processOperationResult, processOperationResult, registerPostResponseCallback, removeAttachment, setAttachment, setAttachments, setAuthorizationEntry, setDontSynchronize, setErrorMessage, setInnerOperation, setInternalOperation, setMaskedErrorMessage, setMaskedResultCode, setMatchedDN, setProcessingStartTime, setProcessingStopTime, setReferralURLs, setResponseData, setResultCode, setSynchronizationOperation, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addAdditionalLogItem, addRequestControl, appendErrorMessage, getAdditionalLogItems, getErrorMessage, setErrorMessage
getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getProcessingStopTime, getProcessingTime, getReferralURLs, getResultCode
addAdditionalLogItem, appendErrorMessage, getAdditionalLogItems, getAuthorizationDN, getErrorMessage, getMatchedDN, getReferralURLs, getResultCode, setErrorMessage, setMatchedDN, setReferralURLs, setResponseData, setResultCode
checkIfCanceled, disconnectClient, getAttachment, getAttachments, getClientConnection, getConnectionID, getMessageID, getOperationID, getProcessingStartTime, getRequestControl, getRequestControls, isInternalOperation, isSynchronizationOperation, removeAttachment, setAttachment, toString
addAdditionalLogItem, addRequestControl, appendErrorMessage, appendMaskedErrorMessage, cancel, checkIfCanceled, disconnectClient, dontSynchronize, getAdditionalLogItems, getAttachment, getAttachments, getAuthorizationDN, getAuthorizationEntry, getCancelRequest, getCancelResult, getClientConnection, getConnectionID, getErrorMessage, getMaskedErrorMessage, getMaskedResultCode, getMatchedDN, getMessageID, getOperationID, getProcessingNanoTime, getProcessingStartTime, getProcessingStopTime, getProcessingTime, getReferralURLs, getRequestControl, getRequestControls, getResultCode, isInnerOperation, isInternalOperation, isSynchronizationOperation, operationCompleted, registerPostResponseCallback, removeAttachment, setAttachment, setAttachments, setAuthorizationEntry, setDontSynchronize, setErrorMessage, setInnerOperation, setInternalOperation, setMaskedErrorMessage, setMaskedResultCode, setMatchedDN, setReferralURLs, setResponseData, setResultCode, setSynchronizationOperation, toString
public SearchOperationBasis(ClientConnection clientConnection, long operationID, int messageID, org.forgerock.opendj.ldap.messages.SearchRequest request)
clientConnection
- The client connection with which this operation
is associated.operationID
- The operation ID for this operation.messageID
- The message ID of the request with which this
operation is associated.request
- The search request.public final org.forgerock.opendj.ldap.ByteString getRawBaseDN()
PreParseSearchOperation
getRawBaseDN
in interface SearchOperation
getRawBaseDN
in interface PostResponseSearchOperation
getRawBaseDN
in interface PreParseSearchOperation
getRawBaseDN
in interface SearchEntrySearchOperation
getRawBaseDN
in interface SearchReferenceSearchOperation
public final void setRawBaseDN(org.forgerock.opendj.ldap.ByteString rawBaseDN)
PreParseSearchOperation
setRawBaseDN
in interface SearchOperation
setRawBaseDN
in interface PreParseSearchOperation
rawBaseDN
- The raw, unprocessed base DN for this search
operation.public final org.forgerock.opendj.ldap.Dn getBaseDN()
PostResponseSearchOperation
getBaseDN
in interface SearchOperation
getBaseDN
in interface PostResponseSearchOperation
getBaseDN
in interface SearchEntrySearchOperation
getBaseDN
in interface SearchReferenceSearchOperation
public final void setBaseDN(org.forgerock.opendj.ldap.Dn baseDN)
SearchOperation
setBaseDN
in interface SearchOperation
baseDN
- The base DN for this search operation.public final org.forgerock.opendj.ldap.SearchScope getScope()
PreParseSearchOperation
getScope
in interface SearchOperation
getScope
in interface PostResponseSearchOperation
getScope
in interface PreParseSearchOperation
getScope
in interface SearchEntrySearchOperation
getScope
in interface SearchReferenceSearchOperation
public final void setScope(org.forgerock.opendj.ldap.SearchScope scope)
PreParseSearchOperation
setScope
in interface SearchOperation
setScope
in interface PreParseSearchOperation
scope
- The scope for this search operation.public final org.forgerock.opendj.ldap.DereferenceAliasesPolicy getDerefPolicy()
PreParseSearchOperation
getDerefPolicy
in interface SearchOperation
getDerefPolicy
in interface PostResponseSearchOperation
getDerefPolicy
in interface PreParseSearchOperation
getDerefPolicy
in interface SearchEntrySearchOperation
getDerefPolicy
in interface SearchReferenceSearchOperation
public final void setDerefPolicy(org.forgerock.opendj.ldap.DereferenceAliasesPolicy derefPolicy)
PreParseSearchOperation
setDerefPolicy
in interface SearchOperation
setDerefPolicy
in interface PreParseSearchOperation
derefPolicy
- The alias dereferencing policy for this
search operation.public final int getSizeLimit()
PreParseSearchOperation
getSizeLimit
in interface SearchOperation
getSizeLimit
in interface PostResponseSearchOperation
getSizeLimit
in interface PreParseSearchOperation
getSizeLimit
in interface SearchEntrySearchOperation
getSizeLimit
in interface SearchReferenceSearchOperation
public final void setSizeLimit(int sizeLimit)
PreParseSearchOperation
setSizeLimit
in interface SearchOperation
setSizeLimit
in interface PreParseSearchOperation
sizeLimit
- The size limit for this search operation.public final int getTimeLimit()
PreParseSearchOperation
getTimeLimit
in interface SearchOperation
getTimeLimit
in interface PostResponseSearchOperation
getTimeLimit
in interface PreParseSearchOperation
getTimeLimit
in interface SearchEntrySearchOperation
getTimeLimit
in interface SearchReferenceSearchOperation
public final void setTimeLimit(int timeLimit)
PreParseSearchOperation
setTimeLimit
in interface SearchOperation
setTimeLimit
in interface PreParseSearchOperation
timeLimit
- The time limit for this search operation.public final boolean getTypesOnly()
PreParseSearchOperation
getTypesOnly
in interface SearchOperation
getTypesOnly
in interface PostResponseSearchOperation
getTypesOnly
in interface PreParseSearchOperation
getTypesOnly
in interface SearchEntrySearchOperation
getTypesOnly
in interface SearchReferenceSearchOperation
public final void setTypesOnly(boolean typesOnly)
PreParseSearchOperation
setTypesOnly
in interface SearchOperation
setTypesOnly
in interface PreParseSearchOperation
typesOnly
- The typesOnly flag for this search operation.public final RawFilter getRawFilter()
PreParseSearchOperation
getRawFilter
in interface SearchOperation
getRawFilter
in interface PostResponseSearchOperation
getRawFilter
in interface PreParseSearchOperation
getRawFilter
in interface SearchEntrySearchOperation
getRawFilter
in interface SearchReferenceSearchOperation
public final void setRawFilter(RawFilter rawFilter)
PreParseSearchOperation
setRawFilter
in interface SearchOperation
setRawFilter
in interface PreParseSearchOperation
rawFilter
- The raw, unprocessed search filter.public final SearchFilter getFilter()
PostResponseSearchOperation
getFilter
in interface SearchOperation
getFilter
in interface PostResponseSearchOperation
getFilter
in interface SearchEntrySearchOperation
getFilter
in interface SearchReferenceSearchOperation
public final Set<String> getAttributes()
PreParseSearchOperation
getAttributes
in interface SearchOperation
getAttributes
in interface PostResponseSearchOperation
getAttributes
in interface PreParseSearchOperation
getAttributes
in interface SearchEntrySearchOperation
getAttributes
in interface SearchReferenceSearchOperation
public final void setAttributes(Set<String> attributes)
PreParseSearchOperation
setAttributes
in interface SearchOperation
setAttributes
in interface PreParseSearchOperation
attributes
- The set of requested attributes for this
search operation.public final int getEntriesSent()
PostResponseSearchOperation
getEntriesSent
in interface SearchOperation
getEntriesSent
in interface PostResponseSearchOperation
public final int getReferencesSent()
PostResponseSearchOperation
getReferencesSent
in interface SearchOperation
getReferencesSent
in interface PostResponseSearchOperation
public final boolean returnEntry(Entry entry, List<Control> controls)
PreParseSearchOperation
returnEntry
in interface SearchOperation
returnEntry
in interface PreParseSearchOperation
entry
- The entry that should be returned.controls
- The set of controls to include with the entry
(may be null
if no controls should be
included with the entry).true
if the caller should continue processing
the search request and sending additional entries and
references, or false
if not for some reason
(e.g., the size limit has been reached or the search has
been abandoned).public final boolean returnEntry(Entry entry, List<Control> controls, boolean evaluateAci)
SearchOperation
returnEntry
in interface SearchOperation
entry
- The entry that matches the search criteria and should
be sent to the client.controls
- The set of controls to include with the entry (may be
null
if none are needed).evaluateAci
- Indicates whether the access rights to the entry
should be evaluated.true
if the caller should continue processing the
search request and sending additional entries and references, or
false
if not for some reason (e.g., the size limit
has been reached or the search has been abandoned).public final boolean returnReference(org.forgerock.opendj.ldap.Dn dn, SearchResultReference reference)
PreParseSearchOperation
returnReference
in interface SearchOperation
returnReference
in interface PreParseSearchOperation
dn
- A DN related to the specified search reference.reference
- The search reference that should be returned.true
if the caller should continue processing
the search request and sending additional entries and
references, or false
if not for some reason
(e.g., the size limit has been reached or the search has
been abandoned).public final boolean returnReference(org.forgerock.opendj.ldap.Dn dn, SearchResultReference reference, boolean evaluateAci)
SearchOperation
returnReference
in interface SearchOperation
dn
- The DN related to the specified search reference.reference
- The search reference to send to the client.evaluateAci
- Indicates whether the access rights to the entry
should be evaluated.true
if the caller should continue processing the
search request and sending additional entries and references , or
false
if not for some reason (e.g., the size limit
has been reached or the search has been abandoned).public final void sendSearchResultDone()
SearchOperation
sendSearchResultDone
in interface SearchOperation
public final OperationType getOperationType()
PluginOperation
getOperationType
in interface Operation
getOperationType
in interface PluginOperation
public org.forgerock.opendj.ldap.Dn getProxiedAuthorizationDN()
SearchOperation
getProxiedAuthorizationDN
in interface SearchOperation
getProxiedAuthorizationDN
in interface Operation
null
if proxied
authorization has not been requested.public final List<Control> getResponseControls()
PluginOperation
getResponseControls
in interface Operation
getResponseControls
in interface PluginOperation
public final void addResponseControl(Control control)
PreParseOperation
addResponseControl
in interface Operation
addResponseControl
in interface InProgressOperation
addResponseControl
in interface PreParseOperation
control
- The control to add to the set of controls to
include in the response to the client.public final void removeResponseControl(Control control)
PreParseOperation
removeResponseControl
in interface Operation
removeResponseControl
in interface InProgressOperation
removeResponseControl
in interface PreParseOperation
control
- The control to remove from the set of controls
to include in the response to the client.public void abort(CancelRequest cancelRequest)
Operation
abort
in interface Operation
abort
in class AbstractOperation
cancelRequest
- Information about the way in which the
operation should be canceled.public final void toString(StringBuilder buffer)
PluginOperation
toString
in interface Operation
toString
in interface PluginOperation
buffer
- The buffer into which a string representation of
this operation should be appended.public void setTimeLimitExpiration(long timeLimitExpiration)
SearchOperation
setTimeLimitExpiration
in interface SearchOperation
timeLimitExpiration
- - Time after which the search has expiredpublic boolean isReturnSubentriesOnly()
SearchOperation
isReturnSubentriesOnly
in interface SearchOperation
public void setReturnSubentriesOnly(boolean returnLDAPSubentries)
SearchOperation
setReturnSubentriesOnly
in interface SearchOperation
returnLDAPSubentries
- - Boolean indicating whether the LDAP
subentries should be returned or notpublic MatchedValuesControl getMatchedValuesControl()
SearchOperation
getMatchedValuesControl
in interface SearchOperation
public void setMatchedValuesControl(MatchedValuesControl controls)
SearchOperation
setMatchedValuesControl
in interface SearchOperation
controls
- - The matched values controlpublic boolean isIncludeUsableControl()
SearchOperation
isIncludeUsableControl
in interface SearchOperation
public void setIncludeUsableControl(boolean includeUsableControl)
SearchOperation
setIncludeUsableControl
in interface SearchOperation
includeUsableControl
- - True if the account usable response control
has to be included within the search result
entries, false otherwisepublic long getTimeLimitExpiration()
SearchOperation
getTimeLimitExpiration
in interface SearchOperation
public boolean isClientAcceptsReferrals()
SearchOperation
isClientAcceptsReferrals
in interface SearchOperation
public void setClientAcceptsReferrals(boolean clientAcceptReferrals)
SearchOperation
setClientAcceptsReferrals
in interface SearchOperation
clientAcceptReferrals
- - Boolean set to true if the client
can handle referralspublic boolean isSendResponse()
SearchOperation
isSendResponse
in interface SearchOperation
public void setSendResponse(boolean sendResponse)
SearchOperation
setSendResponse
in interface SearchOperation
sendResponse
- - boolean indicating whether the search result done
message is to send to the clientpublic boolean isRealAttributesOnly()
SearchOperation
isRealAttributesOnly
in interface SearchOperation
public boolean isVirtualAttributesOnly()
SearchOperation
isVirtualAttributesOnly
in interface SearchOperation
public void setRealAttributesOnly(boolean realAttributesOnly)
SearchOperation
setRealAttributesOnly
in interface SearchOperation
realAttributesOnly
- - boolean setup to true, if only the real
attributes should be returnedpublic void setVirtualAttributesOnly(boolean virtualAttributesOnly)
SearchOperation
setVirtualAttributesOnly
in interface SearchOperation
virtualAttributesOnly
- - boolean setup to true, if only the virtual
attributes should be returnedpublic void sendSearchEntry(SearchResultEntry searchEntry) throws DirectoryException
SearchOperation
sendSearchEntry
in interface SearchOperation
searchEntry
- The search result entry to be sent to
the client.DirectoryException
- If a problem occurs while attempting
to send the entry to the client and
the search should be terminated.public boolean sendSearchReference(SearchResultReference searchReference) throws DirectoryException
SearchOperation
sendSearchReference
in interface SearchOperation
searchReference
- The search result reference to be sent
to the client.true
if the client is able to accept
referrals, or false
if the client cannot
handle referrals and no more attempts should be made to
send them for the associated search operation.DirectoryException
- If a problem occurs while attempting
to send the reference to the client
and the search should be terminated.public void setProxiedAuthorizationDN(org.forgerock.opendj.ldap.Dn proxiedAuthorizationDN)
SearchOperation
setProxiedAuthorizationDN
in interface SearchOperation
setProxiedAuthorizationDN
in interface Operation
proxiedAuthorizationDN
- The proxied authorization DN for this operation if proxied
authorization has been requested, or null
if proxied
authorization has not been requested.public final void run()
Operation
public void updateOperationErrMsgAndResCode()
AbstractOperation
updateOperationErrMsgAndResCode
in class AbstractOperation
Copyright © 2010-2017 ForgeRock AS. All Rights Reserved.