org.apache.directory.server.xdbm.search.impl
Class DefaultSearchEngine<ID>

java.lang.Object
  extended by org.apache.directory.server.xdbm.search.impl.DefaultSearchEngine<ID>
All Implemented Interfaces:
SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>

public class DefaultSearchEngine<ID>
extends java.lang.Object
implements SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>

Given a search filter and a scope the search engine identifies valid candidate entries returning their ids.

Version:
$Rev: 927146 $
Author:
Apache Directory Project

Field Summary
 
Fields inherited from interface org.apache.directory.server.xdbm.search.SearchEngine
ALIASMODE_KEY, ALWAYS, FINDING, NEVER, SEARCHING
 
Constructor Summary
DefaultSearchEngine(Store<org.apache.directory.shared.ldap.entry.ServerEntry,ID> db, CursorBuilder<ID> cursorBuilder, EvaluatorBuilder<ID> evaluatorBuilder, Optimizer optimizer)
          Creates a DefaultSearchEngine for searching a Database without setting up the database.
 
Method Summary
 IndexCursor<ID,org.apache.directory.shared.ldap.entry.ServerEntry,ID> cursor(org.apache.directory.shared.ldap.name.DN base, org.apache.directory.shared.ldap.message.AliasDerefMode aliasDerefMode, org.apache.directory.shared.ldap.filter.ExprNode filter, javax.naming.directory.SearchControls searchCtls)
           
 Evaluator<? extends org.apache.directory.shared.ldap.filter.ExprNode,org.apache.directory.shared.ldap.entry.ServerEntry,ID> evaluator(org.apache.directory.shared.ldap.filter.ExprNode filter)
           
 Optimizer getOptimizer()
          Gets the optimizer for this DefaultSearchEngine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultSearchEngine

public DefaultSearchEngine(Store<org.apache.directory.shared.ldap.entry.ServerEntry,ID> db,
                           CursorBuilder<ID> cursorBuilder,
                           EvaluatorBuilder<ID> evaluatorBuilder,
                           Optimizer optimizer)
Creates a DefaultSearchEngine for searching a Database without setting up the database.

Parameters:
db - the btree based partition
cursorBuilder - an expression cursor builder
evaluatorBuilder - an expression evaluator builder
optimizer - an optimizer to use during search
Method Detail

getOptimizer

public Optimizer getOptimizer()
Gets the optimizer for this DefaultSearchEngine.

Specified by:
getOptimizer in interface SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>
Returns:
the optimizer

cursor

public IndexCursor<ID,org.apache.directory.shared.ldap.entry.ServerEntry,ID> cursor(org.apache.directory.shared.ldap.name.DN base,
                                                                                    org.apache.directory.shared.ldap.message.AliasDerefMode aliasDerefMode,
                                                                                    org.apache.directory.shared.ldap.filter.ExprNode filter,
                                                                                    javax.naming.directory.SearchControls searchCtls)
                                                                             throws java.lang.Exception
Specified by:
cursor in interface SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>
Throws:
java.lang.Exception
See Also:
SearchEngine.cursor(DN, AliasDerefMode, ExprNode, SearchControls)

evaluator

public Evaluator<? extends org.apache.directory.shared.ldap.filter.ExprNode,org.apache.directory.shared.ldap.entry.ServerEntry,ID> evaluator(org.apache.directory.shared.ldap.filter.ExprNode filter)
                                                                                                                                      throws java.lang.Exception
Specified by:
evaluator in interface SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>
Throws:
java.lang.Exception
See Also:
SearchEngine.evaluator(ExprNode)


Copyright © 2003-2010 The Apache Software Foundation. All Rights Reserved.