class MyMessage(messages.Message): """Test message containing various types.""" class Color(messages.Enum): RED = 1 GREEN = 2 BLUE = 3 class Nested(messages.Message): nested_value = messages.StringField() a_string = messages.StringField() an_integer = messages.IntegerField() a_float = messages.FloatField() a_boolean = messages.BooleanField() an_enum = messages.EnumField(Color) a_nested = messages.MessageField(Nested) a_repeated = messages.IntegerField(repeated=True) a_repeated_float = messages.FloatField(repeated=True) a_datetime_iso8601 = messages.DateTimeISO8601Field() a_repeated_datetime_iso8601 = messages.DateTimeISO8601Field(repeated=True) a_datetime_ms_integer = messages.DateTimeMsIntegerField() a_repeated_datetime_ms_integer = messages.DateTimeMsIntegerField( repeated=True) a_custom = CustomField() a_repeated_custom = CustomField(repeated=True) a_uuid = messages.UUIDField() a_repeated_uuid = messages.UUIDField(repeated=True)
class SuperSuperMessage(messages.Message): """A test message with two levels of nested.""" sub_message = messages.MessageField(SuperMessage) sub_messages = messages.MessageField(SuperMessage, repeated=True)
class TeamsResponseMessage(messages.Message): page = messages.IntegerField() teams = messages.MessageField(TeamMessage)
class Animals(messages.Message): animals = messages.MessageField(Animal, repeated=True) number = messages.IntegerField()
class SuperMessage(messages.Message): """A test message with a nested message field.""" sub_message = messages.MessageField(test_util.OptionalMessage) sub_messages = messages.MessageField(test_util.OptionalMessage, repeated=True)
class HasNestedRepeated(messages.Message): nested = messages.MessageField(HasRepeated, repeated=True)
class HasOptionalNestedMessage(messages.Message): nested = messages.MessageField(OptionalMessage) repeated_nested = messages.MessageField(OptionalMessage, repeated=True)
class HasNestedMessage(messages.Message): """Message that has another message nested in it.""" nested = messages.MessageField(NestedMessage) repeated_nested = messages.MessageField(NestedMessage, repeated=True)