Package org.nuxeo.ecm.directory.multi
Class MultiDirectoryExpressionEvaluator
java.lang.Object
org.nuxeo.ecm.directory.multi.MultiDirectoryExpressionEvaluator
Evaluator for an
Expression in the context of the various subdirectories of a MultiDirectory's source.
The result is a set of entry ids.
The strategy for evaluation is to delegate as much as possible of the evaluation of expressions to subdirectories themselves.
We do a depth-first evaluation of expressions, delaying actual evaluation while an expression's references all fall into the same subdirectory.
- Since:
- 10.3
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classResult is a set of entry ids.static classResult is an operand associated to at most one subdirectory.static classRenames the references according to a map.static interfaceThe result of an evaluation of an expression. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionMultiDirectoryExpressionEvaluator(MultiDirectorySession.SourceInfo sourceInfo, String idField, String dirName) -
Method Summary
Modifier and TypeMethodDescriptioneval(Expression expr) Evaluates an expression and returns the set of matching ids.protected MultiDirectoryExpressionEvaluator.ResultevalAndOr(Expression expr) protected MultiDirectoryExpressionEvaluator.ResultevalExpression(Expression expr) protected MultiDirectoryExpressionEvaluator.Resultprotected MultiDirectoryExpressionEvaluator.ResultevalOperand(Operand op) protected MultiDirectoryExpressionEvaluator.ResultevalReference(Reference ref) protected MultiDirectoryExpressionEvaluator.ResultEvaluates an operand associated to a single directory and returns the set of matching ids.Evaluates a result and returns the set of matching ids.intersection(Set<String> a, Set<String> b) Set intersection.Set union.
-
Field Details
-
dirInfos
-
idField
-
dirName
-
-
Constructor Details
-
MultiDirectoryExpressionEvaluator
public MultiDirectoryExpressionEvaluator(MultiDirectorySession.SourceInfo sourceInfo, String idField, String dirName)
-
-
Method Details
-
eval
Evaluates an expression and returns the set of matching ids. -
evalExpression
-
evalSimpleExpression
-
evalOperand
-
evalReference
-
evalAndOr
-
evalMultiExpression
-
evaluate
Evaluates a result and returns the set of matching ids. -
evaluate
Evaluates an operand associated to a single directory and returns the set of matching ids. -
union
Set union. -
intersection
Set intersection.
-