Class Types


  • @Internal
    public final class Types
    extends java.lang.Object
    Utilities for dealing with the Type proto.

    CEL Library Internals. Do Not Use.

    • Field Detail

      • 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
      • TIMESTAMP_MESSAGE

        public static final java.lang.String TIMESTAMP_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 target)
        Create a type Type.
      • createList

        public static Type createList​(Type elemType)
        Create a list with elemType.
      • createMap

        public static Type createMap​(Type keyType,
                                     Type valueType)
        Create a map with keyType and valueType.
      • createMessage

        public static Type createMessage​(java.lang.String messageName)
        Create a message Type for messageName.
      • createTypeParam

        public static Type createTypeParam​(java.lang.String name)
        Create a type param Type.
      • createWrapper

        public static Type createWrapper​(Type.PrimitiveType primitive)
        Create a wrapper type for the primitive.
      • createWrapper

        public static Type createWrapper​(Type type)
        Create a wrapper type where the input is a Type of 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.
        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.
      • isEqualOrLessSpecific

        @Deprecated
        public static boolean isEqualOrLessSpecific​(Type type1,
                                                    Type type2)
        Deprecated.
        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.
        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.
      • substitute

        public static CelType substitute​(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. Unbound type parameters are replaced by DYN if typeParamToDyn is true.