has-methods {RProtoBuf} | R Documentation |
Indicates if an object has the given field set
Description
This generic method, currently implemented for Message and EnumDescriptor indicates if the message or enum descriptor has the given field set.
For messages and non-repeated fields, a call to the HasField
method of the corresponding Message
is issued.
For messages and repeated fields, a call to the FieldSize
method is issued, and the message is declared to have
the field if the size is greater than 0.
NULL
is returned if the descriptor for the message does not
contain the given field at all.
For EnumDescriptors, a boolean value indicates if the given name is present in the enum definition.
Methods
- has
signature(object = "Message")
: Indicates if the message has a given field.- has
signature(object = "EnumDescriptor")
: Indicates if the EnumDescriptor has a given named element.
Examples
unitest.proto.file <- system.file("tinytest", "data", "unittest.proto",
package = "RProtoBuf" )
readProtoFiles(file = unitest.proto.file)
test <- new(protobuf_unittest.TestAllTypes)
test$has("optional_int32")
# FALSE
test$add("repeated_int32", 1:10)
test$has("repeated_int32")
# TRUE
test$has("nonexistant")
# NULL
has(protobuf_unittest.TestAllTypes$NestedEnum, "FOO")
has(protobuf_unittest.TestAllTypes$NestedEnum, "BAR")
has(protobuf_unittest.TestAllTypes$NestedEnum, "XXX")