Package dev.cel.common
Class CelOptions
- java.lang.Object
-
- dev.cel.common.CelOptions
-
@CheckReturnValue @Immutable public abstract class CelOptions extends java.lang.Object
Options to configure how the CEL parser, type-checker, and evaluator behave.Users are strongly encouraged to use
current()
to ensure that the overall CEL stack behaves in the manner most consistent with the CEL specification.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CelOptions.Builder
Builder for configuring theCelOptions
.static class
CelOptions.ProtoUnsetFieldOptions
ProtoUnsetFieldOptions describes how to handle Activation.fromProto() calls where proto message fields may be unset and should either be handled perhaps as absent or as the default proto value.
-
Field Summary
Fields Modifier and Type Field Description static CelOptions
DEFAULT
static CelOptions
LEGACY
-
Method Summary
-
-
-
Field Detail
-
DEFAULT
public static final CelOptions DEFAULT
-
LEGACY
public static final CelOptions LEGACY
-
-
Method Detail
-
enableReservedIds
public abstract boolean enableReservedIds()
-
enableOptionalSyntax
public abstract boolean enableOptionalSyntax()
-
maxExpressionCodePointSize
public abstract int maxExpressionCodePointSize()
-
maxParseErrorRecoveryLimit
public abstract int maxParseErrorRecoveryLimit()
-
maxParseRecursionDepth
public abstract int maxParseRecursionDepth()
-
populateMacroCalls
public abstract boolean populateMacroCalls()
-
retainRepeatedUnaryOperators
public abstract boolean retainRepeatedUnaryOperators()
-
retainUnbalancedLogicalExpressions
public abstract boolean retainUnbalancedLogicalExpressions()
-
enableCompileTimeOverloadResolution
public abstract boolean enableCompileTimeOverloadResolution()
-
enableHomogeneousLiterals
public abstract boolean enableHomogeneousLiterals()
-
enableTimestampEpoch
public abstract boolean enableTimestampEpoch()
-
enableHeterogeneousNumericComparisons
public abstract boolean enableHeterogeneousNumericComparisons()
-
enableNamespacedDeclarations
public abstract boolean enableNamespacedDeclarations()
-
disableCelStandardEquality
public abstract boolean disableCelStandardEquality()
-
enableShortCircuiting
public abstract boolean enableShortCircuiting()
-
enableRegexPartialMatch
public abstract boolean enableRegexPartialMatch()
-
enableUnsignedComparisonAndArithmeticIsUnsigned
public abstract boolean enableUnsignedComparisonAndArithmeticIsUnsigned()
-
enableUnsignedLongs
public abstract boolean enableUnsignedLongs()
-
enableProtoDifferencerEquality
public abstract boolean enableProtoDifferencerEquality()
-
errorOnDuplicateMapKeys
public abstract boolean errorOnDuplicateMapKeys()
-
errorOnIntWrap
public abstract boolean errorOnIntWrap()
-
resolveTypeDependencies
public abstract boolean resolveTypeDependencies()
-
enableUnknownTracking
public abstract boolean enableUnknownTracking()
-
enableCelValue
public abstract boolean enableCelValue()
-
comprehensionMaxIterations
public abstract int comprehensionMaxIterations()
-
unwrapWellKnownTypesOnFunctionDispatch
public abstract boolean unwrapWellKnownTypesOnFunctionDispatch()
-
fromProtoUnsetFieldOption
public abstract CelOptions.ProtoUnsetFieldOptions fromProtoUnsetFieldOption()
-
toBuilder
public abstract CelOptions.Builder toBuilder()
-
toExprFeatures
public com.google.common.collect.ImmutableSet<ExprFeatures> toExprFeatures()
-
newBuilder
public static CelOptions.Builder newBuilder()
Return an unconfiguredBuilder
. This is equivalent to preserving all legacy behaviors, both good and bad, of the original CEL implementation.
-
current
public static CelOptions.Builder current()
Return aBuilder
configured with the most current set ofCelOptions
(recommended).
-
fromExprFeatures
public static CelOptions fromExprFeatures(com.google.common.collect.ImmutableSet<ExprFeatures> features)
-
-