public class MultiDirectoryExpressionEvaluator extends Object
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.
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
MultiDirectoryExpressionEvaluator.IdsResult
Result is a set of entry ids. 
 | 
static class  | 
MultiDirectoryExpressionEvaluator.OperandResult
Result is an operand associated to at most one subdirectory. 
 | 
static class  | 
MultiDirectoryExpressionEvaluator.ReferenceRenamer
Renames the references according to a map. 
 | 
static interface  | 
MultiDirectoryExpressionEvaluator.Result
The result of an evaluation of an expression. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected List<MultiDirectorySession.SubDirectoryInfo> | 
dirInfos  | 
protected String | 
dirName  | 
protected String | 
idField  | 
| Constructor and Description | 
|---|
MultiDirectoryExpressionEvaluator(MultiDirectorySession.SourceInfo sourceInfo,
                                 String idField,
                                 String dirName)  | 
protected final List<MultiDirectorySession.SubDirectoryInfo> dirInfos
public MultiDirectoryExpressionEvaluator(MultiDirectorySession.SourceInfo sourceInfo, String idField, String dirName)
public Set<String> eval(Expression expr)
protected MultiDirectoryExpressionEvaluator.Result evalExpression(Expression expr)
protected MultiDirectoryExpressionEvaluator.Result evalSimpleExpression(Expression expr)
protected MultiDirectoryExpressionEvaluator.Result evalOperand(Operand op)
protected MultiDirectoryExpressionEvaluator.Result evalReference(Reference ref)
protected MultiDirectoryExpressionEvaluator.Result evalAndOr(Expression expr)
protected MultiDirectoryExpressionEvaluator.Result evalMultiExpression(MultiExpression expr)
protected Set<String> evaluate(MultiDirectoryExpressionEvaluator.Result result)
protected Set<String> evaluate(MultiDirectoryExpressionEvaluator.OperandResult opr)
Copyright © 2019 Nuxeo. All rights reserved.