Package dev.cel.checker
Class Types
- java.lang.Object
-
- dev.cel.checker.Types
-
-
Field Summary
Fields Modifier and Type Field Description static TypeANYstatic java.lang.StringANY_MESSAGEstatic TypeBOOLstatic java.lang.StringBOOL_WRAPPER_MESSAGEstatic TypeBYTESstatic java.lang.StringBYTES_WRAPPER_MESSAGEstatic TypeDOUBLEstatic java.lang.StringDOUBLE_WRAPPER_MESSAGEstatic TypeDURATIONstatic java.lang.StringDURATION_MESSAGEstatic TypeDYNstatic TypeERRORstatic java.lang.StringFLOAT_WRAPPER_MESSAGEstatic java.lang.StringINT32_WRAPPER_MESSAGEstatic TypeINT64static java.lang.StringINT64_WRAPPER_MESSAGEstatic java.lang.StringLIST_VALUE_MESSAGEstatic TypeNULL_TYPEstatic TypeSTRINGstatic java.lang.StringSTRING_WRAPPER_MESSAGEstatic java.lang.StringSTRUCT_MESSAGEstatic TypeTIMESTAMPstatic java.lang.StringTIMESTAMP_MESSAGEstatic java.lang.StringUINT32_WRAPPER_MESSAGEstatic TypeUINT64static java.lang.StringUINT64_WRAPPER_MESSAGEstatic java.lang.StringVALUE_MESSAGE
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Typecreate(Type target)Create a typeType.static Typecreate(Type.PrimitiveType type)Create a primitiveType.static Typecreate(Type.WellKnownType type)Create a well-knownType.static TypecreateList(Type elemType)Create a list withelemType.static TypecreateMap(Type keyType, Type valueType)Create a map withkeyTypeandvalueType.static TypecreateMessage(java.lang.String messageName)Create a messageTypeformessageName.static TypecreateTypeParam(java.lang.String name)Create a type paramType.static TypecreateWrapper(Type type)Create a wrapper type where the input is aTypeof primitive types.static TypecreateWrapper(Type.PrimitiveType primitive)Create a wrapper type for theprimitive.static @Nullable java.util.Map<CelType,CelType>isAssignable(java.util.Map<CelType,CelType> subs, CelType type1, CelType type2)Checks whether type1 is assignable to type2, based on the given substitution for type parameters.static @Nullable java.util.Map<CelType,CelType>isAssignable(java.util.Map<CelType,CelType> subs, java.util.List<CelType> list1, java.util.List<CelType> list2)Same asisAssignable(Map, Type, Type)but performs pairwise check on lists of types.static @Nullable java.util.Map<Type,Type>isAssignable(java.util.Map<Type,Type> subs, Type type1, Type type2)Deprecated.UseisAssignable(Map, CelType, CelType)instead.static booleanisDyn(CelType type)static booleanisDynOrError(CelType type)Tests whether the type has error or dyn kind.static booleanisDynOrError(Type type)Deprecated.Use {isDynOrError(CelType)} instead.static booleanisEqualOrLessSpecific(CelType type1, CelType type2)Check whether one type is equal or less specific than the other one.static booleanisEqualOrLessSpecific(Type type1, Type type2)Deprecated.UseisEqualOrLessSpecific(CelType, CelType)instead.static CelTypemostGeneral(CelType type1, CelType type2)Returns the more general of two types which are known to unify.static CelTypesubstitute(java.util.Map<CelType,CelType> subs, CelType type, boolean typeParamToDyn)Apply substitution to given type, replacing all direct and indirect occurrences of bound type parameters.static Typesubstitute(java.util.Map<Type,Type> subs, Type type, boolean typeParamToDyn)Deprecated.Usesubstitute(Map, CelType, boolean)instead.
-
-
-
Field Detail
-
ANY_MESSAGE
public static final java.lang.String ANY_MESSAGE
- See Also:
- Constant Field Values
-
DURATION_MESSAGE
public static final java.lang.String DURATION_MESSAGE
- See Also:
- Constant Field Values
-
LIST_VALUE_MESSAGE
public static final java.lang.String LIST_VALUE_MESSAGE
- See Also:
- Constant Field Values
-
STRUCT_MESSAGE
public static final java.lang.String STRUCT_MESSAGE
- See Also:
- Constant Field Values
-
TIMESTAMP_MESSAGE
public static final java.lang.String TIMESTAMP_MESSAGE
- See Also:
- Constant Field Values
-
VALUE_MESSAGE
public static final java.lang.String VALUE_MESSAGE
- See Also:
- Constant Field Values
-
BOOL_WRAPPER_MESSAGE
public static final java.lang.String BOOL_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
BYTES_WRAPPER_MESSAGE
public static final java.lang.String BYTES_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
DOUBLE_WRAPPER_MESSAGE
public static final java.lang.String DOUBLE_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
FLOAT_WRAPPER_MESSAGE
public static final java.lang.String FLOAT_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
INT32_WRAPPER_MESSAGE
public static final java.lang.String INT32_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
INT64_WRAPPER_MESSAGE
public static final java.lang.String INT64_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
STRING_WRAPPER_MESSAGE
public static final java.lang.String STRING_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
UINT32_WRAPPER_MESSAGE
public static final java.lang.String UINT32_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
UINT64_WRAPPER_MESSAGE
public static final java.lang.String UINT64_WRAPPER_MESSAGE
- See Also:
- Constant Field Values
-
ERROR
public static final Type ERROR
-
DYN
public static final Type DYN
-
NULL_TYPE
public static final Type NULL_TYPE
-
BOOL
public static final Type BOOL
-
BYTES
public static final Type BYTES
-
STRING
public static final Type STRING
-
DOUBLE
public static final Type DOUBLE
-
UINT64
public static final Type UINT64
-
INT64
public static final Type INT64
-
ANY
public static final Type ANY
-
TIMESTAMP
public static final Type TIMESTAMP
-
DURATION
public static final Type DURATION
-
-
Method Detail
-
create
public static Type create(Type.PrimitiveType type)
Create a primitiveType.
-
create
public static Type create(Type.WellKnownType type)
Create a well-knownType.
-
createMap
public static Type createMap(Type keyType, Type valueType)
Create a map withkeyTypeandvalueType.
-
createMessage
public static Type createMessage(java.lang.String messageName)
Create a messageTypeformessageName.
-
createTypeParam
public static Type createTypeParam(java.lang.String name)
Create a type paramType.
-
createWrapper
public static Type createWrapper(Type.PrimitiveType primitive)
Create a wrapper type for theprimitive.
-
createWrapper
public static Type createWrapper(Type type)
Create a wrapper type where the input is aTypeof primitive types.
-
isDynOrError
@Deprecated public static boolean isDynOrError(Type type)
Deprecated.Use {isDynOrError(CelType)} instead.Tests whether the type has error or dyn kind. Both have the property to match any type.
-
isDynOrError
public static boolean isDynOrError(CelType type)
Tests whether the type has error or dyn kind. Both have the property to match any type.
-
isDyn
public static boolean isDyn(CelType type)
-
mostGeneral
public static CelType mostGeneral(CelType type1, CelType type2)
Returns the more general of two types which are known to unify.
-
isAssignable
public static @Nullable java.util.Map<CelType,CelType> isAssignable(java.util.Map<CelType,CelType> subs, CelType type1, CelType type2)
Checks whether type1 is assignable to type2, based on the given substitution for type parameters. A new substitution is returned, or null if the check fails. The given substitution is not modified.
-
isAssignable
@Deprecated public static @Nullable java.util.Map<Type,Type> isAssignable(java.util.Map<Type,Type> subs, Type type1, Type type2)
Deprecated.UseisAssignable(Map, CelType, CelType)instead.Checks whether type1 is assignable to type2, based on the given substitution for type parameters. A new substitution is returned, or null if the check fails. The given substitution is not modified.
-
isAssignable
public static @Nullable java.util.Map<CelType,CelType> isAssignable(java.util.Map<CelType,CelType> subs, java.util.List<CelType> list1, java.util.List<CelType> list2)
Same asisAssignable(Map, Type, Type)but performs pairwise check on lists of types.
-
isEqualOrLessSpecific
@Deprecated public static boolean isEqualOrLessSpecific(Type type1, Type type2)
Deprecated.UseisEqualOrLessSpecific(CelType, CelType)instead.Check whether one type is equal or less specific than the other one. A type is less specific if it matches the other type using the DYN type.
-
isEqualOrLessSpecific
public static boolean isEqualOrLessSpecific(CelType type1, CelType type2)
Check whether one type is equal or less specific than the other one. A type is less specific if it matches the other type using the DYN type.
-
substitute
@Deprecated public static Type substitute(java.util.Map<Type,Type> subs, Type type, boolean typeParamToDyn)
Deprecated.Usesubstitute(Map, CelType, boolean)instead.Apply substitution to given type, replacing all direct and indirect occurrences of bound type parameters. Unbound type parameters are replaced by DYN if typeParamToDyn is true.
-
-