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