Class EagerExpressionResolver

java.lang.Object
com.hubspot.jinjava.util.EagerExpressionResolver

@Beta public class EagerExpressionResolver extends Object
  • Field Details

  • Constructor Details

    • EagerExpressionResolver

      public EagerExpressionResolver()
  • Method Details

    • 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"

    • getValueAsJinjavaStringSafe

      public static String getValueAsJinjavaStringSafe(Object val)
    • findDeferredWords

      public static Set<String> findDeferredWords(String partiallyResolved, JinjavaInterpreter interpreter)
    • 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)