1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ldap.server.db;
18
19
20 import org.apache.ldap.common.filter.ExprNode;
21
22 import javax.naming.NamingException;
23
24
25 /***
26 * Tests if an entry is eligable for return by evaluating a filter expression on
27 * the candidate. The evaluation can proceed by applying the filter on the
28 * attributes of the entry itself or indices can be used for rapid evaluation.
29 *
30 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
31 * @version $Rev: 159259 $
32 */
33 public interface Evaluator
34 {
35 /***
36 * Evaluates a candidate to determine if a filter expression selects it.
37 *
38 * @param node the filter expression to evaluate on the candidate
39 * @param record the index record of the entry to evaluate
40 * @return true if the filter selects the candidate false otherwise
41 * @throws NamingException if there is a database fault during evaluation
42 */
43 boolean evaluate( ExprNode node, IndexRecord record ) throws NamingException;
44 }