Package dev.cel.common.types
Class ProtoMessageType
- java.lang.Object
-
- dev.cel.common.types.CelType
-
- dev.cel.common.types.StructType
-
- dev.cel.common.types.ProtoMessageType
-
@CheckReturnValue @Immutable public final class ProtoMessageType extends StructType
TheProtoMessageTypeis aStructTypewith support for protoExtensions and field masks.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProtoMessageType.ExtensionExtensioncontains the name, type, and target message type of the extension.static interfaceProtoMessageType.JsonNameResolverFunctional interface for resolving whether a field name is a json name.-
Nested classes/interfaces inherited from class dev.cel.common.types.StructType
StructType.Field, StructType.FieldResolver
-
-
Field Summary
-
Fields inherited from class dev.cel.common.types.StructType
fieldNames, fieldResolver, name
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ProtoMessageTypecreate(java.lang.String name, com.google.common.collect.ImmutableSet<java.lang.String> fieldNames, StructType.FieldResolver fieldResolver, StructType.FieldResolver extensionResolver, ProtoMessageType.JsonNameResolver jsonNameResolver)java.util.Optional<ProtoMessageType.Extension>findExtension(java.lang.String extensionName)Find anExtensionby its fully-qualifiedextensionName.booleanisJsonName(java.lang.String fieldName)Returns true if the field name is a json name.ProtoMessageTypewithVisibleFields(com.google.common.collect.ImmutableSet<java.lang.String> visibleFields)Create a new instance of theProtoMessageTypeusing thevisibleFieldsset as a mask of the fields from the backing proto.-
Methods inherited from class dev.cel.common.types.StructType
create, fieldNames, fields, findField, isAssignableFrom, kind, name
-
Methods inherited from class dev.cel.common.types.CelType
parameters, withFreshTypeParamVariables, withParameters
-
-
-
-
Method Detail
-
findExtension
public java.util.Optional<ProtoMessageType.Extension> findExtension(java.lang.String extensionName)
Find anExtensionby its fully-qualifiedextensionName.
-
isJsonName
public boolean isJsonName(java.lang.String fieldName)
Returns true if the field name is a json name.
-
withVisibleFields
public ProtoMessageType withVisibleFields(com.google.common.collect.ImmutableSet<java.lang.String> visibleFields)
Create a new instance of theProtoMessageTypeusing thevisibleFieldsset as a mask of the fields from the backing proto.
-
create
public static ProtoMessageType create(java.lang.String name, com.google.common.collect.ImmutableSet<java.lang.String> fieldNames, StructType.FieldResolver fieldResolver, StructType.FieldResolver extensionResolver, ProtoMessageType.JsonNameResolver jsonNameResolver)
-
-