org.apache.directory.server.core.enumeration
Class SearchResultFilteringEnumeration

java.lang.Object
  extended by org.apache.directory.server.core.enumeration.SearchResultFilteringEnumeration
All Implemented Interfaces:
java.util.Enumeration, javax.naming.NamingEnumeration, org.apache.directory.shared.ldap.message.AbandonListener

public class SearchResultFilteringEnumeration
extends java.lang.Object
implements javax.naming.NamingEnumeration, org.apache.directory.shared.ldap.message.AbandonListener

A enumeration decorator which filters database search results as they are being enumerated back to the client caller.

Version:
$Rev: 493916 $
Author:
Apache Directory Project
See Also:
SearchResultFilter

Constructor Summary
SearchResultFilteringEnumeration(javax.naming.NamingEnumeration decorated, javax.naming.directory.SearchControls searchControls, Invocation invocation, java.util.List filters)
          Creates a new database result filtering enumeration to decorate an underlying enumeration.
SearchResultFilteringEnumeration(javax.naming.NamingEnumeration decorated, javax.naming.directory.SearchControls searchControls, Invocation invocation, SearchResultFilter filter)
          Creates a new database result filtering enumeration to decorate an underlying enumeration.
 
Method Summary
 boolean addResultFilter(SearchResultFilter filter)
          Adds a database search result filter to this filtering enumeration at the very end of the filter list.
 void close()
           
 java.util.List getFilters()
          Gets an unmodifiable list of filters.
 boolean hasMore()
           
 boolean hasMoreElements()
           
 java.lang.Object next()
           
 java.lang.Object nextElement()
           
 boolean removeResultFilter(SearchResultFilter filter)
          Removes a database search result filter from the filter list of this filtering enumeration.
 void requestAbandoned(org.apache.directory.shared.ldap.message.AbandonableRequest req)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SearchResultFilteringEnumeration

public SearchResultFilteringEnumeration(javax.naming.NamingEnumeration decorated,
                                        javax.naming.directory.SearchControls searchControls,
                                        Invocation invocation,
                                        SearchResultFilter filter)
                                 throws javax.naming.NamingException
Creates a new database result filtering enumeration to decorate an underlying enumeration.

Parameters:
decorated - the underlying decorated enumeration
searchControls - the search controls associated with the search creating this enumeration
invocation - the invocation representing the seach that created this enumeration
Throws:
javax.naming.NamingException

SearchResultFilteringEnumeration

public SearchResultFilteringEnumeration(javax.naming.NamingEnumeration decorated,
                                        javax.naming.directory.SearchControls searchControls,
                                        Invocation invocation,
                                        java.util.List filters)
                                 throws javax.naming.NamingException
Creates a new database result filtering enumeration to decorate an underlying enumeration.

Parameters:
decorated - the underlying decorated enumeration
searchControls - the search controls associated with the search creating this enumeration
invocation - the invocation representing the seach that created this enumeration
Throws:
javax.naming.NamingException
Method Detail

addResultFilter

public boolean addResultFilter(SearchResultFilter filter)
Adds a database search result filter to this filtering enumeration at the very end of the filter list. Filters are applied in the order of addition.

Parameters:
filter - a filter to apply to the results
Returns:
the result of List.add(Object)

removeResultFilter

public boolean removeResultFilter(SearchResultFilter filter)
Removes a database search result filter from the filter list of this filtering enumeration.

Parameters:
filter - a filter to remove from the filter list
Returns:
the result of List.remove(Object)

getFilters

public java.util.List getFilters()
Gets an unmodifiable list of filters.

Returns:
the result of Collections.unmodifiableList(List)

close

public void close()
           throws javax.naming.NamingException
Specified by:
close in interface javax.naming.NamingEnumeration
Throws:
javax.naming.NamingException

hasMore

public boolean hasMore()
Specified by:
hasMore in interface javax.naming.NamingEnumeration

next

public java.lang.Object next()
                      throws javax.naming.NamingException
Specified by:
next in interface javax.naming.NamingEnumeration
Throws:
javax.naming.NamingException

hasMoreElements

public boolean hasMoreElements()
Specified by:
hasMoreElements in interface java.util.Enumeration

nextElement

public java.lang.Object nextElement()
Specified by:
nextElement in interface java.util.Enumeration

requestAbandoned

public void requestAbandoned(org.apache.directory.shared.ldap.message.AbandonableRequest req)
Specified by:
requestAbandoned in interface org.apache.directory.shared.ldap.message.AbandonListener


Copyright © 2003-2012 Apache Software Foundation. All Rights Reserved.