com.unboundid.ldap.protocol
Class SearchRequestProtocolOp

java.lang.Object
  extended by com.unboundid.ldap.protocol.SearchRequestProtocolOp
All Implemented Interfaces:
ProtocolOp, java.io.Serializable

@InternalUseOnly
public final class SearchRequestProtocolOp
extends java.lang.Object
implements ProtocolOp

This class provides an implementation of an LDAP search request protocol op.

See Also:
Serialized Form

Constructor Summary
SearchRequestProtocolOp(SearchRequest request)
          Creates a new search request protocol op from the provided search request object.
SearchRequestProtocolOp(java.lang.String baseDN, SearchScope scope, DereferencePolicy derefPolicy, int sizeLimit, int timeLimit, boolean typesOnly, Filter filter, java.util.List<java.lang.String> attributes)
          Creates a new search request protocol op with the provided information.
 
Method Summary
static SearchRequestProtocolOp decodeProtocolOp(ASN1Element element)
          Decodes the provided ASN.1 element as a search request protocol op.
 ASN1Element encodeProtocolOp()
          Encodes this protocol op to an ASN.1 element suitable for inclusion in an encoded LDAP message.
 java.util.List<java.lang.String> getAttributes()
          Retrieves the set of requested attributes for this search request.
 java.lang.String getBaseDN()
          Retrieves the base DN for this search request.
 DereferencePolicy getDerefPolicy()
          Retrieves the policy to use for any aliases encountered during the search.
 Filter getFilter()
          Retrieves the filter for this search request.
 byte getProtocolOpType()
          Retrieves the BER type for this protocol op.
 SearchScope getScope()
          Retrieves the scope for this search request.
 int getSizeLimit()
          Retrieves the maximum number of entries that the server should return for the search.
 int getTimeLimit()
          Retrieves the maximum length of time in seconds the server should spend processing the search.
 SearchRequest toSearchRequest(Control... controls)
          Creates a search request from this protocol op.
 java.lang.String toString()
          Retrieves a string representation of this protocol op.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this LDAP protocol op to the provided buffer.
 boolean typesOnly()
          Indicates whether the server should return only attribute types or both attribute types and values.
 void writeTo(ASN1Buffer buffer)
          Writes an ASN.1-encoded representation of this LDAP protocol op to the provided ASN.1 buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SearchRequestProtocolOp

public SearchRequestProtocolOp(java.lang.String baseDN,
                               SearchScope scope,
                               DereferencePolicy derefPolicy,
                               int sizeLimit,
                               int timeLimit,
                               boolean typesOnly,
                               Filter filter,
                               java.util.List<java.lang.String> attributes)
Creates a new search request protocol op with the provided information.

Parameters:
baseDN - The base DN for this search request.
scope - The scope for this search request.
derefPolicy - The policy to use for aliases encountered during the search.
sizeLimit - The maximum number of entries to return for the search, or zero for no limit.
timeLimit - The maximum length of time to spend processing the search, or zero for no limit.
typesOnly - Indicates whether to return only attribute types or both types and values.
filter - The filter for this search request.
attributes - The names of attributes to include in matching entries.

SearchRequestProtocolOp

public SearchRequestProtocolOp(SearchRequest request)
Creates a new search request protocol op from the provided search request object.

Parameters:
request - The search request object to use to create this protocol op.
Method Detail

getBaseDN

public java.lang.String getBaseDN()
Retrieves the base DN for this search request.

Returns:
The base DN for this search request.

getScope

public SearchScope getScope()
Retrieves the scope for this search request.

Returns:
The scope for this search request.

getDerefPolicy

public DereferencePolicy getDerefPolicy()
Retrieves the policy to use for any aliases encountered during the search.

Returns:
The policy to use for any aliases encountered during the search.

getSizeLimit

public int getSizeLimit()
Retrieves the maximum number of entries that the server should return for the search.

Returns:
The maximum number of entries that the server should return for the search, or zero if there is no limit.

getTimeLimit

public int getTimeLimit()
Retrieves the maximum length of time in seconds the server should spend processing the search.

Returns:
The maximum length of time in seconds the server should spend processing the search, or zero if there is no limit.

typesOnly

public boolean typesOnly()
Indicates whether the server should return only attribute types or both attribute types and values.

Returns:
true if the server should return only attribute types, or false if both types and values should be returned.

getFilter

public Filter getFilter()
Retrieves the filter for this search request.

Returns:
The filter for this search request.

getAttributes

public java.util.List<java.lang.String> getAttributes()
Retrieves the set of requested attributes for this search request.

Returns:
The set of requested attributes for this search request.

getProtocolOpType

public byte getProtocolOpType()
Retrieves the BER type for this protocol op.

Specified by:
getProtocolOpType in interface ProtocolOp
Returns:
The BER type for this protocol op.

encodeProtocolOp

public ASN1Element encodeProtocolOp()
Encodes this protocol op to an ASN.1 element suitable for inclusion in an encoded LDAP message.

Specified by:
encodeProtocolOp in interface ProtocolOp
Returns:
The ASN.1 element containing the encoded protocol op.

decodeProtocolOp

public static SearchRequestProtocolOp decodeProtocolOp(ASN1Element element)
                                                throws LDAPException
Decodes the provided ASN.1 element as a search request protocol op.

Parameters:
element - The ASN.1 element to be decoded.
Returns:
The decoded search request protocol op.
Throws:
LDAPException - If the provided ASN.1 element cannot be decoded as a search request protocol op.

writeTo

public void writeTo(ASN1Buffer buffer)
Writes an ASN.1-encoded representation of this LDAP protocol op to the provided ASN.1 buffer. This method is intended for internal use only and should not be used by third-party code.

Specified by:
writeTo in interface ProtocolOp
Parameters:
buffer - The ASN.1 buffer to which the encoded representation should be written.

toSearchRequest

public SearchRequest toSearchRequest(Control... controls)
Creates a search request from this protocol op.

Parameters:
controls - The set of controls to include in the search request. It may be empty or null if no controls should be included.
Returns:
The search request that was created.

toString

public java.lang.String toString()
Retrieves a string representation of this protocol op.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this protocol op.

toString

public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this LDAP protocol op to the provided buffer.

Specified by:
toString in interface ProtocolOp
Parameters:
buffer - The buffer to which the string representation should be appended.