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)
          Conducts a search on a database.
 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)
          Builds an Evaluator for a filter expression.
 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
Description copied from interface: SearchEngine
Conducts a search on a database.

Specified by:
cursor in interface SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>
Parameters:
base - the search base
aliasDerefMode - the alias dereferencing mode to use
filter - the search filter AST root
searchCtls - the JNDI search controls
Returns:
enumeration over SearchResults
Throws:
java.lang.Exception - if the search fails
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
Description copied from interface: SearchEngine
Builds an Evaluator for a filter expression.

Specified by:
evaluator in interface SearchEngine<org.apache.directory.shared.ldap.entry.ServerEntry,ID>
Parameters:
filter - the filter root AST node
Returns:
true if the filter passes the entry, false otherwise
Throws:
java.lang.Exception - if something goes wrong while accessing the db
See Also:
SearchEngine.evaluator(ExprNode)


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