edu.internet2.middleware.grouper.ldap.handler
Class RangeSearchResultHandler

java.lang.Object
  extended by edu.vt.middleware.ldap.handler.AbstractResultHandler<T,T>
      extended by edu.vt.middleware.ldap.handler.CopyResultHandler<SearchResult>
          extended by edu.vt.middleware.ldap.handler.CopySearchResultHandler
              extended by edu.internet2.middleware.grouper.ldap.handler.RangeSearchResultHandler
All Implemented Interfaces:
edu.vt.middleware.ldap.handler.ExtendedSearchResultHandler, edu.vt.middleware.ldap.handler.ResultHandler<SearchResult,SearchResult>, edu.vt.middleware.ldap.handler.SearchResultHandler

public class RangeSearchResultHandler
extends edu.vt.middleware.ldap.handler.CopySearchResultHandler
implements edu.vt.middleware.ldap.handler.ExtendedSearchResultHandler

The RangeSearchResultHandler rewrites attributes returned from Active Directory to include all values by performing additional searches. This behavior is based on the expired RFC "Incremental Retrieval of Multi-valued Properties" http://www.ietf.org/proceedings/53/I-D/draft-kashi-incremental-00.txt. For example, when the membership of a group exceeds 1500, requests for the member attribute will likely return an attribute with name "member;Range=0-1499" and 1500 values. For a group with just over 3000 members, subsequent searches will request "member;Range=1500-2999" and then "member;Range=3000-4499". When the returned attribute is of the form "member;Range=3000-*", all values have been retrieved.


Field Summary
static String END_OF_RANGE
          The character indicating that the end of the range has been reached.
static String RANGE_FORMAT
          The format used to calculate attribute IDs for subsequent searches.
static Pattern RANGE_PATTERN
          The pattern matching the range attribute ID.
static String RANGE_PATTERN_STRING
          The expression matching the range attribute ID ";range=-".
 
Constructor Summary
RangeSearchResultHandler()
          Creates a new RangeSearchResultHandler.
RangeSearchResultHandler(edu.vt.middleware.ldap.Ldap ldap)
          Creates a new RangeSearchResultHandler with the supplied ldap.
 
Method Summary
 edu.vt.middleware.ldap.Ldap getSearchResultLdap()
          
 void setSearchResultLdap(edu.vt.middleware.ldap.Ldap l)
          
 
Methods inherited from class edu.vt.middleware.ldap.handler.CopySearchResultHandler
getAttributeHandler, setAttributeHandler
 
Methods inherited from class edu.vt.middleware.ldap.handler.AbstractResultHandler
process, process, process
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.vt.middleware.ldap.handler.SearchResultHandler
getAttributeHandler, setAttributeHandler
 
Methods inherited from interface edu.vt.middleware.ldap.handler.ResultHandler
process, process, process
 

Field Detail

END_OF_RANGE

public static final String END_OF_RANGE
The character indicating that the end of the range has been reached.

See Also:
Constant Field Values

RANGE_FORMAT

public static final String RANGE_FORMAT
The format used to calculate attribute IDs for subsequent searches.

See Also:
Constant Field Values

RANGE_PATTERN_STRING

public static final String RANGE_PATTERN_STRING
The expression matching the range attribute ID ";range=-".

See Also:
Constant Field Values

RANGE_PATTERN

public static final Pattern RANGE_PATTERN
The pattern matching the range attribute ID.

Constructor Detail

RangeSearchResultHandler

public RangeSearchResultHandler()
Creates a new RangeSearchResultHandler.


RangeSearchResultHandler

public RangeSearchResultHandler(edu.vt.middleware.ldap.Ldap ldap)
Creates a new RangeSearchResultHandler with the supplied ldap.

Parameters:
ldap - Ldap
Method Detail

getSearchResultLdap

public edu.vt.middleware.ldap.Ldap getSearchResultLdap()

Specified by:
getSearchResultLdap in interface edu.vt.middleware.ldap.handler.ExtendedSearchResultHandler

setSearchResultLdap

public void setSearchResultLdap(edu.vt.middleware.ldap.Ldap l)

Specified by:
setSearchResultLdap in interface edu.vt.middleware.ldap.handler.ExtendedSearchResultHandler