Package dev.cel.runtime
Class RuntimeHelpers
- java.lang.Object
-
- dev.cel.runtime.RuntimeHelpers
-
@Internal public final class RuntimeHelpers extends java.lang.Object
Helper methods for common CEL related routines.CEL Library Internals. Do Not Use.
-
-
Field Summary
Fields Modifier and Type Field Description static Converter<java.lang.Double,java.lang.Float>DOUBLE_TO_FLOATstatic Converter<java.lang.Float,java.lang.Double>FLOAT_TO_DOUBLEstatic Converter<java.lang.Integer,java.lang.Long>INT32_TO_INT64static Converter<java.lang.Long,java.lang.Integer>INT64_TO_INT32static Converter<java.lang.Integer,java.lang.Long>UINT32_TO_UINT64
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.ObjectadaptProtoToValue(DynamicProto dynamicProto, MessageOrBuilder obj, CelOptions celOptions)Adapts aprotobuf.Messageto a plain old Java object.static java.lang.ObjectadaptValue(DynamicProto dynamicProto, java.lang.Object value, CelOptions celOptions)Adapts a plain old Java object into a CEL value.static com.google.re2j.PatterncompilePattern(java.lang.String regexp)Create a compiled pattern for the given regular expression.static <E> java.util.List<E>concat(java.util.List<E> first, java.util.List<E> second)Concatenates two lists into a new list.static DurationcreateDurationFromString(java.lang.String d)Convert a string to a Duration.static java.util.Optional<java.lang.Long>doubleToLongChecked(double v)static java.util.Optional<java.lang.Long>doubleToLongLossless(java.lang.Number v)static java.util.Optional<com.google.common.primitives.UnsignedLong>doubleToUnsignedChecked(double v)static <A> Converter<A,A>identity()static <A> AindexList(java.util.List<A> list, java.lang.Number index)Bound-checked indexing of lists.static longint64Add(long x, long y, CelOptions celOptions)static longint64Divide(long x, long y, CelOptions celOptions)static longint64Multiply(long x, long y, CelOptions celOptions)static longint64Negate(long x, CelOptions celOptions)static longint64Subtract(long x, long y, CelOptions celOptions)static booleanmatches(java.lang.String string, java.lang.String regexp)Match a string against a regular expression.static booleanmatches(java.lang.String string, java.lang.String regexp, CelOptions celOptions)static java.lang.ObjectmaybeAdaptPrimitive(java.lang.Object value)Adapts aNumbervalue to its appropriate CEL type.static longuint64Add(long x, long y, CelOptions celOptions)static com.google.common.primitives.UnsignedLonguint64Add(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)static intuint64CompareTo(long x, long y)static intuint64CompareTo(long x, long y, CelOptions celOptions)static intuint64CompareTo(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)static longuint64Divide(long x, long y)static longuint64Divide(long x, long y, CelOptions celOptions)static com.google.common.primitives.UnsignedLonguint64Divide(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)static longuint64Mod(long x, long y)static longuint64Mod(long x, long y, CelOptions celOptions)static com.google.common.primitives.UnsignedLonguint64Mod(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)static longuint64Multiply(long x, long y)static longuint64Multiply(long x, long y, CelOptions celOptions)static com.google.common.primitives.UnsignedLonguint64Multiply(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)static longuint64Subtract(long x, long y, CelOptions celOptions)static com.google.common.primitives.UnsignedLonguint64Subtract(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
-
-
Field Detail
-
INT32_TO_INT64
public static final Converter<java.lang.Integer,java.lang.Long> INT32_TO_INT64
-
UINT32_TO_UINT64
public static final Converter<java.lang.Integer,java.lang.Long> UINT32_TO_UINT64
-
FLOAT_TO_DOUBLE
public static final Converter<java.lang.Float,java.lang.Double> FLOAT_TO_DOUBLE
-
INT64_TO_INT32
public static final Converter<java.lang.Long,java.lang.Integer> INT64_TO_INT32
-
DOUBLE_TO_FLOAT
public static final Converter<java.lang.Double,java.lang.Float> DOUBLE_TO_FLOAT
-
-
Method Detail
-
createDurationFromString
public static Duration createDurationFromString(java.lang.String d)
Convert a string to a Duration.
-
matches
public static boolean matches(java.lang.String string, java.lang.String regexp)Match a string against a regular expression.
-
matches
public static boolean matches(java.lang.String string, java.lang.String regexp, CelOptions celOptions)
-
compilePattern
public static com.google.re2j.Pattern compilePattern(java.lang.String regexp)
Create a compiled pattern for the given regular expression.
-
concat
public static <E> java.util.List<E> concat(java.util.List<E> first, java.util.List<E> second)Concatenates two lists into a new list.
-
indexList
public static <A> A indexList(java.util.List<A> list, java.lang.Number index)Bound-checked indexing of lists.
-
int64Add
public static long int64Add(long x, long y, CelOptions celOptions)
-
int64Divide
public static long int64Divide(long x, long y, CelOptions celOptions)
-
int64Multiply
public static long int64Multiply(long x, long y, CelOptions celOptions)
-
int64Negate
public static long int64Negate(long x, CelOptions celOptions)
-
int64Subtract
public static long int64Subtract(long x, long y, CelOptions celOptions)
-
uint64Add
public static long uint64Add(long x, long y, CelOptions celOptions)
-
uint64Add
public static com.google.common.primitives.UnsignedLong uint64Add(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
uint64CompareTo
public static int uint64CompareTo(long x, long y, CelOptions celOptions)
-
uint64CompareTo
public static int uint64CompareTo(long x, long y)
-
uint64CompareTo
public static int uint64CompareTo(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
uint64Divide
public static long uint64Divide(long x, long y, CelOptions celOptions)
-
uint64Divide
public static long uint64Divide(long x, long y)
-
uint64Divide
public static com.google.common.primitives.UnsignedLong uint64Divide(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
uint64Mod
public static long uint64Mod(long x, long y, CelOptions celOptions)
-
uint64Mod
public static com.google.common.primitives.UnsignedLong uint64Mod(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
uint64Mod
public static long uint64Mod(long x, long y)
-
uint64Multiply
public static long uint64Multiply(long x, long y, CelOptions celOptions)
-
uint64Multiply
public static long uint64Multiply(long x, long y)
-
uint64Multiply
public static com.google.common.primitives.UnsignedLong uint64Multiply(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
uint64Subtract
public static long uint64Subtract(long x, long y, CelOptions celOptions)
-
uint64Subtract
public static com.google.common.primitives.UnsignedLong uint64Subtract(com.google.common.primitives.UnsignedLong x, com.google.common.primitives.UnsignedLong y)
-
identity
public static <A> Converter<A,A> identity()
-
adaptValue
public static java.lang.Object adaptValue(DynamicProto dynamicProto, java.lang.Object value, CelOptions celOptions)
Adapts a plain old Java object into a CEL value.
-
maybeAdaptPrimitive
public static java.lang.Object maybeAdaptPrimitive(java.lang.Object value)
Adapts aNumbervalue to its appropriate CEL type.
-
adaptProtoToValue
public static java.lang.Object adaptProtoToValue(DynamicProto dynamicProto, MessageOrBuilder obj, CelOptions celOptions)
Adapts aprotobuf.Messageto a plain old Java object.Well-known protobuf types (wrappers, JSON types) are unwrapped to Java native object representations.
If the incoming
objis of typegoogle.protobuf.Anythe object is unpacked and the proto within is passed to theadaptProtoToValuemethod again to ensure the message contained within the Any is properly unwrapped if it is a well-known protobuf type.
-
doubleToUnsignedChecked
public static java.util.Optional<com.google.common.primitives.UnsignedLong> doubleToUnsignedChecked(double v)
-
doubleToLongChecked
public static java.util.Optional<java.lang.Long> doubleToLongChecked(double v)
-
doubleToLongLossless
public static java.util.Optional<java.lang.Long> doubleToLongLossless(java.lang.Number v)
-
-