Package io.permazen.parse.expr
Classes for parsing Java expressions with Permazen-specific extensions.
-
Interface Summary Interface Description LValue Extension of theValue
interface for instances that are capable of assignment.Node The product of a parse operation, which is capable of producing aValue
when evaluated within a transaction.Value Holds a value for use during expression evaluation. -
Class Summary Class Description AbstractLValue AbstractLValue
implementation.AbstractNamed Support superclass for things with a name.AbstractValue AdditiveExprParser Parses Java additive expressions of the formx + y
andx - y
.AssignmentExprParser Parses Java assignment expressions of the formx = y
,x += y
, etc.AtomExprParser Parses atomic Java expressions such as parenthesized expressions,new
expressions, session function calls, identifiers (e.g., lambda method parameter names), and literals.BaseExprParser Parses basic left-associative Java expressions such as auto-increment expressions, array access, field access, invocation, etc.BeanPropertyValue Value
that reflects a bean property in some object.BinaryExprParser Support superclass for tail-recursive binary expression parsers for expressions of the formARG1 OP ARG2
.BitwiseAndParser Parses bit-wise AND expressions of the formx & y
.BitwiseOrParser Parses bit-wise OR expressions of the formx | y
.BitwiseXorParser Parses bit-wise XOR expressions of the formx ^ y
.BoundMethodReferenceNode Node
representing a bound method reference like"foobar"::indexOf
.CastExprParser Parses type cast expressions.CastNode A parsed cast expression.ClassNode ConditionalParser Parses conditional expressions of the formx ? y : z
.ConstNode ConstructorInvokeNode Node
that invokes a Java constructor when evaluated.ConstValue A constant, read-onlyValue
.EmptyArrayNode Node representing an "empty" array instantiation expression, i.e., with dimensions but no literal values.EqualityParser Parses equality expressions of the formx == y
orx != y
.ExprParser Java expression parser.FieldValue InstanceFieldValue Value
that reflects a non-static field in some Java object.InstanceofParser Parsesinstanceof
expressions.JFieldValue JSimpleFieldValue LambdaExprParser Parses lambda expressions.LambdaNode Node
representing a lambda function.LambdaNode.Param LiteralArrayNode Node representing a literal array instantiation expression, i.e., with curly braces initial values.LiteralExprParser Parses literal values.LiteralNode A parsed literal value.LogicalAndParser Parses logical AND expressions of the formx && y
.LogicalOrParser Parses logical OR expressions of the formx || y
.MethodInvokeNode Node
that invokes a Java method when evaluated.MethodReferenceNode Node
representing a method reference.MultiplicativeExprParser Parses multiplicative expressions of the formx & y
,x / y
, andx % y
.MutableBeanPropertyValue Value
that reflects a mutable bean property in some object.RelationalExprParser Parses relational expressions of the formx < y
,x >= y
, etc.ShiftExprParser Parses shift expressions of the formx << y
,x >> y
, andx >>> y
.SimpleFieldValue Value
that reflects a core APISimpleField
in some database object.StaticFieldValue TypeInferringNode Support superclass forNode
s that perform type inferrence and therefore require a target type in order to be completely parsed.UnaryExprParser Parses unary expressions using one of!
,~
,+
,-
,++
,--
.UnboundMethodReferenceNode ValueValue VarNode Node
representing a parsedParseSession
variable.VarValue Value
that represents aParseSession
variable. -
Enum Summary Enum Description Op Java expression operators. -
Exception Summary Exception Description EvalException Thrown when an error occurs evaluating an expression.