public class DBSExpressionEvaluator extends ExpressionEvaluator
DBSDocument
state.Modifier and Type | Class and Description |
---|---|
protected static class |
DBSExpressionEvaluator.DBSPathResolver |
static class |
DBSExpressionEvaluator.OrderByComparator |
ExpressionEvaluator.PathResolver
Modifier and Type | Field and Description |
---|---|
protected List<String> |
documentTypes |
protected Expression |
expression |
protected SchemaManager |
schemaManager |
protected SelectClause |
selectClause |
protected State |
state |
NXQL_ECM_ANCESTOR_IDS, NXQL_ECM_PATH, NXQL_ECM_READ_ACL, pathResolver, principals
Constructor and Description |
---|
DBSExpressionEvaluator(DBSSession session,
SelectClause selectClause,
Expression expression,
String[] principals) |
Modifier and Type | Method and Description |
---|---|
protected Object |
evaluateReference(Reference ref,
State state)
Evaluates a reference over the given state.
|
protected List<String> |
getDocumentTypes() |
protected Set<String> |
getMixinDocumentTypes(String mixin) |
protected boolean |
isNeverPerInstanceMixin(String mixin) |
boolean |
matches(DBSDocumentState docState) |
boolean |
matches(State state) |
Boolean |
walkMixinTypes(List<String> mixins,
boolean include)
Matches the mixin types against a list of values.
|
Object |
walkReference(Reference ref)
Evaluates a reference over the context state.
|
and, bool, cmp, cmp, eq, eqMaybeList, in, inMaybeList, isMixinTypes, like, likeMaybeList, likeToRegex, not, or, walkAncestorId, walkAnd, walkBetween, walkBooleanLiteral, walkDateLiteral, walkDoubleLiteral, walkEcmPath, walkEq, walkExpression, walkFunction, walkGt, walkGtEq, walkIn, walkIntegerLiteral, walkIsNotNull, walkIsNull, walkLike, walkLiteral, walkLiteralList, walkLt, walkLtEq, walkMultiExpression, walkNot, walkNotEq, walkOperand, walkOr, walkStartsWith, walkStartsWithNonPath, walkStartsWithPath, walkStringLiteral
protected final SelectClause selectClause
protected final Expression expression
protected final SchemaManager schemaManager
protected List<String> documentTypes
public DBSExpressionEvaluator(DBSSession session, SelectClause selectClause, Expression expression, String[] principals)
protected List<String> getDocumentTypes()
protected Set<String> getMixinDocumentTypes(String mixin)
protected boolean isNeverPerInstanceMixin(String mixin)
public boolean matches(DBSDocumentState docState)
public Object walkReference(Reference ref)
ExpressionEvaluator
walkReference
in class ExpressionEvaluator
ref
- the referenceprotected Object evaluateReference(Reference ref, State state)
ref
- the referencemap
- the state representationpublic Boolean walkMixinTypes(List<String> mixins, boolean include)
Used for:
ecm:mixinTypes IN ('Foo', 'Bar')
primarytype IN (... types with Foo or Bar ...) OR mixintypes LIKE '%Foo%' OR mixintypes LIKE '%Bar%'
ecm:mixinTypes NOT IN ('Foo', 'Bar')
primarytype IN (... types without Foo nor Bar ...) AND (mixintypes NOT LIKE '%Foo%' AND mixintypes NOT LIKE '%Bar%' OR mixintypes IS NULL)
walkMixinTypes
in class ExpressionEvaluator
mixins
- the mixin(s) to matchinclude
- true
for = and INCopyright © 2015 Nuxeo SA. All rights reserved.