org.apache.directory.server.xdbm.search.impl
Class ApproximateEvaluator<T,ID extends Comparable<ID>>

java.lang.Object
  extended by org.apache.directory.server.xdbm.search.impl.LeafEvaluator<T,ID>
      extended by org.apache.directory.server.xdbm.search.impl.ApproximateEvaluator<T,ID>
All Implemented Interfaces:
Evaluator<org.apache.directory.shared.ldap.model.filter.SimpleNode<T>,org.apache.directory.shared.ldap.model.entry.Entry,ID>

public class ApproximateEvaluator<T,ID extends Comparable<ID>>
extends LeafEvaluator<T,ID>

An Evaluator which determines if candidates are matched by ApproximateNode assertions. Same as equality for now.

Author:
Apache Directory Project

Field Summary
 
Fields inherited from class org.apache.directory.server.xdbm.search.impl.LeafEvaluator
attributeType, db, idx, ldapComparator, node, normalizer, schemaManager
 
Constructor Summary
ApproximateEvaluator(org.apache.directory.shared.ldap.model.filter.ApproximateNode<T> node, Store<org.apache.directory.shared.ldap.model.entry.Entry,ID> db, org.apache.directory.shared.ldap.model.schema.SchemaManager schemaManager)
          Creates a new ApproximateEvaluator
 
Method Summary
 boolean evaluate(IndexEntry<?,ID> indexEntry)
          Evaluates a candidate to determine if a filter expression selects it.
 boolean evaluateEntry(org.apache.directory.shared.ldap.model.entry.Entry entry)
          Evaluates whether or not a candidate, satisfies the expression associated with this Evaluator .
 org.apache.directory.shared.ldap.model.filter.ApproximateNode<T> getExpression()
          Gets the expression used by this expression Evaluator.
 
Methods inherited from class org.apache.directory.server.xdbm.search.impl.LeafEvaluator
getAttributeType, getComparator, getNormalizer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApproximateEvaluator

public ApproximateEvaluator(org.apache.directory.shared.ldap.model.filter.ApproximateNode<T> node,
                            Store<org.apache.directory.shared.ldap.model.entry.Entry,ID> db,
                            org.apache.directory.shared.ldap.model.schema.SchemaManager schemaManager)
                     throws Exception
Creates a new ApproximateEvaluator

Parameters:
node - The ApproximateNode
db - The Store
schemaManager - The SchemaManager
Throws:
Exception - If the creation failed
Method Detail

getExpression

public org.apache.directory.shared.ldap.model.filter.ApproximateNode<T> getExpression()
Gets the expression used by this expression Evaluator.

Returns:
the AST for the expression

evaluateEntry

public boolean evaluateEntry(org.apache.directory.shared.ldap.model.entry.Entry entry)
                      throws Exception
Evaluates whether or not a candidate, satisfies the expression associated with this Evaluator .

Parameters:
entry - the candidate entry
Returns:
true if filter selects the candidate false otherwise
Throws:
Exception - if there are faults during evaluation

evaluate

public boolean evaluate(IndexEntry<?,ID> indexEntry)
                 throws Exception
Evaluates a candidate to determine if a filter expression selects it. If an IndexEntry does has a null reference to the entry object, this Evaluator may set it if it has to access the full entry within the master table of the store. Subsequent evaluations on the IndexEntry then need not access the store to retreive the entry if they need to access it's attributes.

Parameters:
indexEntry - the index record of the entry to evaluate
Returns:
true if filter selects the candidate false otherwise
Throws:
Exception - if there are faults during evaluation


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