Interface Interpretable


  • @Immutable
    @Internal
    public interface Interpretable
    Represent an expression which can be interpreted repeatedly using a given activation.

    CEL Library Internals. Do Not Use.

    • Method Detail

      • eval

        java.lang.Object eval​(GlobalResolver resolver,
                              CelFunctionResolver lateBoundFunctionResolver)
                       throws CelEvaluationException
        Runs interpretation with the given activation which supplies name/value bindings.

        This method allows for late-binding functions to be provided per-evaluation, which can be useful for binding functions which might have side-effects that are not observable to CEL directly such as recording telemetry or evaluation state in a more granular fashion than a more general evaluation listener might permit.

        Throws:
        CelEvaluationException
      • eval

        java.lang.Object eval​(GlobalResolver resolver,
                              CelFunctionResolver lateBoundFunctionResolver,
                              CelEvaluationListener listener)
                       throws CelEvaluationException
        Runs interpretation with the given activation which supplies name/value bindings.

        This method allows for late-binding functions to be provided per-evaluation, which can be useful for binding functions which might have side-effects that are not observable to CEL directly such as recording telemetry or evaluation state in a more granular fashion than a more general evaluation listener might permit.

        Throws:
        CelEvaluationException