Package com.hubspot.jinjava.util
Class EagerExpressionResolver
- java.lang.Object
-
- com.hubspot.jinjava.util.EagerExpressionResolver
-
public class EagerExpressionResolver extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EagerExpressionResolver.EagerExpressionResult
-
Field Summary
Fields Modifier and Type Field Description static String
JINJAVA_EMPTY_STRING
static String
JINJAVA_NULL
-
Constructor Summary
Constructors Constructor Description EagerExpressionResolver()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
getValueAsJinjavaStringSafe(Object val)
static boolean
isPrimitive(Object val)
static boolean
isResolvableObject(Object val)
static boolean
isResolvableObject(Object val, int maxDepth, int maxSize)
static EagerExpressionResolver.EagerExpressionResult
resolveExpression(String expression, JinjavaInterpreter interpreter)
Resolve the expression while handling deferred values.static boolean
shouldBeEvaluated(String w, JinjavaInterpreter interpreter)
-
-
-
Field Detail
-
JINJAVA_NULL
public static final String JINJAVA_NULL
- See Also:
- Constant Field Values
-
JINJAVA_EMPTY_STRING
public static final String JINJAVA_EMPTY_STRING
- See Also:
- Constant Field Values
-
-
Method Detail
-
resolveExpression
public static EagerExpressionResolver.EagerExpressionResult resolveExpression(String expression, JinjavaInterpreter interpreter)
Resolve the expression while handling deferred values. Returns a EagerExpressionResult object which either holds the fully resolved object or a partially resolved string as well as a set of any words that couldn't be resolved. If a DeferredParsingException is thrown, the expression was partially resolved. If a DeferredValueException is thrown, the expression could not be resolved at all. E.g with foo=3, bar=2: "range(0,foo)[-1] + deferred/bar" -> "2 + deferred/2"
-
shouldBeEvaluated
public static boolean shouldBeEvaluated(String w, JinjavaInterpreter interpreter)
-
isResolvableObject
public static boolean isResolvableObject(Object val, int maxDepth, int maxSize)
-
isResolvableObject
public static boolean isResolvableObject(Object val)
-
isPrimitive
public static boolean isPrimitive(Object val)
-
-