Package dev.cel.runtime
Class DescriptorMessageProvider
- java.lang.Object
-
- dev.cel.runtime.DescriptorMessageProvider
-
- All Implemented Interfaces:
MessageProvider,RuntimeTypeProvider
@Immutable @Internal public final class DescriptorMessageProvider extends java.lang.Object implements RuntimeTypeProvider
An implementation ofRuntimeTypeProviderwhich relies on proto descriptors.This can handle all messages providable by the given
MessageFactory. In addition, one can provide message descriptors for messages external to the program which are provided via aDynamicMessageFactory.CEL Library Internals. Do Not Use.
-
-
Constructor Summary
Constructors Constructor Description DescriptorMessageProvider(ProtoMessageFactory protoMessageFactory, dev.cel.common.CelOptions celOptions)Create a new message provider with a given message factory and custom descriptor set to use when adapting from proto to CEL and vice versa.DescriptorMessageProvider(MessageFactory messageFactory)Deprecated.Migrate to the CEL-Java fluent APIs.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectadapt(java.lang.String messageName, java.lang.Object message)Adapt object to its message value.@Nullable java.lang.ObjectcreateMessage(java.lang.String messageName, java.util.Map<java.lang.String,java.lang.Object> values)Create a message based on the fully qualified message name and field-value mapping.java.lang.ObjecthasField(java.lang.Object message, java.lang.String fieldName)Check whether a field is set on message.@Nullable java.lang.ObjectselectField(java.lang.Object message, java.lang.String fieldName)Select field from message.
-
-
-
Constructor Detail
-
DescriptorMessageProvider
@Deprecated public DescriptorMessageProvider(MessageFactory messageFactory)
Deprecated.Migrate to the CEL-Java fluent APIs. SeeCelRuntimeFactory.Creates a new message provider with the given message factory.
-
DescriptorMessageProvider
public DescriptorMessageProvider(ProtoMessageFactory protoMessageFactory, dev.cel.common.CelOptions celOptions)
Create a new message provider with a given message factory and custom descriptor set to use when adapting from proto to CEL and vice versa.
-
-
Method Detail
-
createMessage
public @Nullable java.lang.Object createMessage(java.lang.String messageName, java.util.Map<java.lang.String,java.lang.Object> values)Description copied from interface:MessageProviderCreate a message based on the fully qualified message name and field-value mapping.- Specified by:
createMessagein interfaceMessageProvider
-
selectField
public @Nullable java.lang.Object selectField(java.lang.Object message, java.lang.String fieldName)Description copied from interface:MessageProviderSelect field from message.- Specified by:
selectFieldin interfaceMessageProvider
-
adapt
public java.lang.Object adapt(java.lang.String messageName, java.lang.Object message)Adapt object to its message value.- Specified by:
adaptin interfaceMessageProvider
-
hasField
public java.lang.Object hasField(java.lang.Object message, java.lang.String fieldName)Description copied from interface:MessageProviderCheck whether a field is set on message.- Specified by:
hasFieldin interfaceMessageProvider
-
-