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 © 2018 Nuxeo. All rights reserved.