Class ReferenceNode.PlainReferenceNode
java.lang.Object
com.google.auto.value.processor.escapevelocity.Node
com.google.auto.value.processor.escapevelocity.ExpressionNode
com.google.auto.value.processor.escapevelocity.ReferenceNode
com.google.auto.value.processor.escapevelocity.ReferenceNode.PlainReferenceNode
- Enclosing class:
- ReferenceNode
A node in the parse tree that is a plain reference such as
$x
. This node may appear
inside a more complex reference like $x.foo
.-
Nested Class Summary
Nested classes/interfaces inherited from class com.google.auto.value.processor.escapevelocity.ReferenceNode
ReferenceNode.IndexReferenceNode, ReferenceNode.MemberReferenceNode, ReferenceNode.MethodReferenceNode, ReferenceNode.PlainReferenceNode
Nested classes/interfaces inherited from class com.google.auto.value.processor.escapevelocity.ExpressionNode
ExpressionNode.BinaryExpressionNode, ExpressionNode.NotExpressionNode
-
Field Summary
FieldsFields inherited from class com.google.auto.value.processor.escapevelocity.Node
lineNumber, resourceName
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) Object
evaluate
(EvaluationContext context) Returns the result of evaluating this node in the given context.(package private) boolean
isDefinedAndTrue
(EvaluationContext context) True if this is a defined value and it evaluates to true.Methods inherited from class com.google.auto.value.processor.escapevelocity.ReferenceNode
invokeMethod, visibleMethod
Methods inherited from class com.google.auto.value.processor.escapevelocity.ExpressionNode
intValue, isTrue
Methods inherited from class com.google.auto.value.processor.escapevelocity.Node
cons, emptyNode, evaluationException, evaluationException
-
Field Details
-
id
-
-
Constructor Details
-
PlainReferenceNode
-
-
Method Details
-
evaluate
Description copied from class:Node
Returns the result of evaluating this node in the given context. This result may be used as part of a further operation, for example evaluating2 + 3
to 5 in order to set$x
to 5 in#set ($x = 2 + 3)
. Or it may be used directly as part of the template output, for example evaluating replacingname
byFred
inMy name is $name.
. -
isDefinedAndTrue
Description copied from class:ExpressionNode
True if this is a defined value and it evaluates to true. This is the same asExpressionNode.isTrue(com.google.auto.value.processor.escapevelocity.EvaluationContext)
except that it is allowed for this to be undefined variable, in which it evaluates to false. The method is overridden for plain references so that undefined is the same as false. The reason is to support Velocity's idiom#if ($var)
, where it is not an error if$var
is undefined.- Overrides:
isDefinedAndTrue
in classExpressionNode
-