XPathExpression class sealed

A parsed XPath expression.

Port of org.javarosa.xpath.expr.XPathExpression and its subclasses. Expressions are immutable values: equality and toString match JavaRosa exactly, because the engine keys its dependency graph on them and conformance tests compare their string form.

Implementers
Annotations
  • @immutable

Properties

hashCode → int
Hash of toString, as in JavaRosa.
no setteroverride
isIdempotent → bool
Whether evaluating this expression twice in the same form state always gives the same result (used to cache predicate results).
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

containsFunc(String name) → bool
Whether this expression calls the function named name anywhere.
eval(DataInstance? model, EvaluationContext context) → Object
Evaluates against model (usually the context's main instance) in context. The result is a bool, double, String, DateTime, XPathNodeset or a value returned by a custom function.
evalIn(EvaluationContext context) → Object
Evaluates against context's main instance.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pivot(DataInstance? model, EvaluationContext context, List<Object> pivots, Object sentinel) → Object?
Pivots this expression around sentinel (the validated node's reference), adding CmpPivots to pivots.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
Structural equality, matching JavaRosa's equals.
override