// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: cel/expr/eval.proto
// Protobuf Java Version: 3.25.1
package dev.cel.expr;
public interface ExprValueOrBuilder extends
// @@protoc_insertion_point(interface_extends:cel.expr.ExprValue)
com.google.protobuf.MessageOrBuilder {
/**
* .cel.expr.Value value = 1;
* @return Whether the value field is set.
*/
boolean hasValue();
/**
* .cel.expr.Value value = 1;
* @return The value.
*/
dev.cel.expr.Value getValue();
/**
* .cel.expr.Value value = 1;
*/
dev.cel.expr.ValueOrBuilder getValueOrBuilder();
/**
*
* The set of errors in the critical path of evaluation.
*
* Only errors in the critical path are included. For example,
* `(<error1> || true) && <error2>` will only result in `<error2>`,
* while `<error1> || <error2>` will result in both `<error1>` and
* `<error2>`.
*
* Errors cause by the presence of other errors are not included in the
* set. For example `<error1>.foo`, `foo(<error1>)`, and `<error1> + 1` will
* only result in `<error1>`.
*
* Multiple errors *might* be included when evaluation could result
* in different errors. For example `<error1> + <error2>` and
* `foo(<error1>, <error2>)` may result in `<error1>`, `<error2>` or both.
* The exact subset of errors included for this case is unspecified and
* depends on the implementation details of the evaluator.
*
*
* .cel.expr.ErrorSet error = 2;
* @return Whether the error field is set.
*/
boolean hasError();
/**
*
* The set of errors in the critical path of evaluation.
*
* Only errors in the critical path are included. For example,
* `(<error1> || true) && <error2>` will only result in `<error2>`,
* while `<error1> || <error2>` will result in both `<error1>` and
* `<error2>`.
*
* Errors cause by the presence of other errors are not included in the
* set. For example `<error1>.foo`, `foo(<error1>)`, and `<error1> + 1` will
* only result in `<error1>`.
*
* Multiple errors *might* be included when evaluation could result
* in different errors. For example `<error1> + <error2>` and
* `foo(<error1>, <error2>)` may result in `<error1>`, `<error2>` or both.
* The exact subset of errors included for this case is unspecified and
* depends on the implementation details of the evaluator.
*
*
* .cel.expr.ErrorSet error = 2;
* @return The error.
*/
dev.cel.expr.ErrorSet getError();
/**
*
* The set of errors in the critical path of evaluation.
*
* Only errors in the critical path are included. For example,
* `(<error1> || true) && <error2>` will only result in `<error2>`,
* while `<error1> || <error2>` will result in both `<error1>` and
* `<error2>`.
*
* Errors cause by the presence of other errors are not included in the
* set. For example `<error1>.foo`, `foo(<error1>)`, and `<error1> + 1` will
* only result in `<error1>`.
*
* Multiple errors *might* be included when evaluation could result
* in different errors. For example `<error1> + <error2>` and
* `foo(<error1>, <error2>)` may result in `<error1>`, `<error2>` or both.
* The exact subset of errors included for this case is unspecified and
* depends on the implementation details of the evaluator.
*
*
* .cel.expr.ErrorSet error = 2;
*/
dev.cel.expr.ErrorSetOrBuilder getErrorOrBuilder();
/**
*
* The set of unknowns in the critical path of evaluation.
*
* Unknown behaves identically to Error with regards to propagation.
* Specifically, only unknowns in the critical path are included, unknowns
* caused by the presence of other unknowns are not included, and multiple
* unknowns *might* be included when evaluation could result in
* different unknowns. For example:
*
* (<unknown[1]> || true) && <unknown[2]> -> <unknown[2]>
* <unknown[1]> || <unknown[2]> -> <unknown[1,2]>
* <unknown[1]>.foo -> <unknown[1]>
* foo(<unknown[1]>) -> <unknown[1]>
* <unknown[1]> + <unknown[2]> -> <unknown[1]> or <unknown[2[>
*
* Unknown takes precedence over Error in cases where a `Value` can short
* circuit the result:
*
* <error> || <unknown> -> <unknown>
* <error> && <unknown> -> <unknown>
*
* Errors take precedence in all other cases:
*
* <unknown> + <error> -> <error>
* foo(<unknown>, <error>) -> <error>
*
*
* .cel.expr.UnknownSet unknown = 3;
* @return Whether the unknown field is set.
*/
boolean hasUnknown();
/**
*
* The set of unknowns in the critical path of evaluation.
*
* Unknown behaves identically to Error with regards to propagation.
* Specifically, only unknowns in the critical path are included, unknowns
* caused by the presence of other unknowns are not included, and multiple
* unknowns *might* be included when evaluation could result in
* different unknowns. For example:
*
* (<unknown[1]> || true) && <unknown[2]> -> <unknown[2]>
* <unknown[1]> || <unknown[2]> -> <unknown[1,2]>
* <unknown[1]>.foo -> <unknown[1]>
* foo(<unknown[1]>) -> <unknown[1]>
* <unknown[1]> + <unknown[2]> -> <unknown[1]> or <unknown[2[>
*
* Unknown takes precedence over Error in cases where a `Value` can short
* circuit the result:
*
* <error> || <unknown> -> <unknown>
* <error> && <unknown> -> <unknown>
*
* Errors take precedence in all other cases:
*
* <unknown> + <error> -> <error>
* foo(<unknown>, <error>) -> <error>
*
*
* .cel.expr.UnknownSet unknown = 3;
* @return The unknown.
*/
dev.cel.expr.UnknownSet getUnknown();
/**
*
* The set of unknowns in the critical path of evaluation.
*
* Unknown behaves identically to Error with regards to propagation.
* Specifically, only unknowns in the critical path are included, unknowns
* caused by the presence of other unknowns are not included, and multiple
* unknowns *might* be included when evaluation could result in
* different unknowns. For example:
*
* (<unknown[1]> || true) && <unknown[2]> -> <unknown[2]>
* <unknown[1]> || <unknown[2]> -> <unknown[1,2]>
* <unknown[1]>.foo -> <unknown[1]>
* foo(<unknown[1]>) -> <unknown[1]>
* <unknown[1]> + <unknown[2]> -> <unknown[1]> or <unknown[2[>
*
* Unknown takes precedence over Error in cases where a `Value` can short
* circuit the result:
*
* <error> || <unknown> -> <unknown>
* <error> && <unknown> -> <unknown>
*
* Errors take precedence in all other cases:
*
* <unknown> + <error> -> <error>
* foo(<unknown>, <error>) -> <error>
*
*
* .cel.expr.UnknownSet unknown = 3;
*/
dev.cel.expr.UnknownSetOrBuilder getUnknownOrBuilder();
dev.cel.expr.ExprValue.KindCase getKindCase();
}