Package akka.protobuf
Class GeneratedMessage
- java.lang.Object
-
- akka.protobuf.AbstractMessageLite
-
- akka.protobuf.AbstractMessage
-
- akka.protobuf.GeneratedMessage
-
- All Implemented Interfaces:
Message
,MessageLite
,MessageLiteOrBuilder
,MessageOrBuilder
,java.io.Serializable
- Direct Known Subclasses:
DescriptorProtos.DescriptorProto
,DescriptorProtos.DescriptorProto.ExtensionRange
,DescriptorProtos.EnumDescriptorProto
,DescriptorProtos.EnumValueDescriptorProto
,DescriptorProtos.FieldDescriptorProto
,DescriptorProtos.FileDescriptorProto
,DescriptorProtos.FileDescriptorSet
,DescriptorProtos.MethodDescriptorProto
,DescriptorProtos.ServiceDescriptorProto
,DescriptorProtos.SourceCodeInfo
,DescriptorProtos.SourceCodeInfo.Location
,DescriptorProtos.UninterpretedOption
,DescriptorProtos.UninterpretedOption.NamePart
,GeneratedMessage.ExtendableMessage
public abstract class GeneratedMessage extends AbstractMessage implements java.io.Serializable
All generated protocol message classes extend this class. This class implements most of the Message and Builder interfaces using Java reflection. Users can ignore this class and pretend that generated messages implement the Message interface directly.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GeneratedMessage.Builder<BuilderType extends GeneratedMessage.Builder>
protected static interface
GeneratedMessage.BuilderParent
Interface for the parent of a Builder that allows the builder to communicate invalidations back to the parent for use when using nested builders.static class
GeneratedMessage.ExtendableBuilder<MessageType extends GeneratedMessage.ExtendableMessage,BuilderType extends GeneratedMessage.ExtendableBuilder>
Generated message builders for message types that contain extension ranges subclass this.static class
GeneratedMessage.ExtendableMessage<MessageType extends GeneratedMessage.ExtendableMessage>
Generated message classes for message types that contain extension ranges subclass this.static interface
GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage>
static class
GeneratedMessage.FieldAccessorTable
Users should ignore this class.static class
GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type>
Type used to represent generated extensions.
-
Field Summary
Fields Modifier and Type Field Description protected static boolean
alwaysUseFieldBuilders
For testing.
-
Constructor Summary
Constructors Modifier Constructor Description protected
GeneratedMessage()
protected
GeneratedMessage(GeneratedMessage.Builder<?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.Map<Descriptors.FieldDescriptor,java.lang.Object>
getAllFields()
Returns a collection of all the fields in this message which are set and their corresponding values.Descriptors.Descriptor
getDescriptorForType()
Get the message's type's descriptor.java.lang.Object
getField(Descriptors.FieldDescriptor field)
Obtains the value of the given field, or the default value if it is not set.Parser<? extends Message>
getParserForType()
Gets the parser for a message of the same type as this message.java.lang.Object
getRepeatedField(Descriptors.FieldDescriptor field, int index)
Gets an element of a repeated field.int
getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Gets the number of elements of a repeated field.UnknownFieldSet
getUnknownFields()
Get theUnknownFieldSet
for this message.boolean
hasField(Descriptors.FieldDescriptor field)
Returns true if the given field is set.protected abstract GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable()
Get the FieldAccessorTable for this type.boolean
isInitialized()
Returns true if all required fields in the message and all embedded messages are set, false otherwise.protected void
makeExtensionsImmutable()
Used by parsing constructors in generated classes.protected abstract Message.Builder
newBuilderForType(GeneratedMessage.BuilderParent parent)
static <ContainingType extends Message,Type>
GeneratedMessage.GeneratedExtension<ContainingType,Type>newFileScopedGeneratedExtension(java.lang.Class singularType, Message defaultInstance)
For use by generated code only.static <ContainingType extends Message,Type>
GeneratedMessage.GeneratedExtension<ContainingType,Type>newMessageScopedGeneratedExtension(Message scope, int descriptorIndex, java.lang.Class singularType, Message defaultInstance)
For use by generated code only.protected boolean
parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)
Called by subclasses to parse an unknown field.protected java.lang.Object
writeReplace()
Replaces this object in the output stream with a serialized form.-
Methods inherited from class akka.protobuf.AbstractMessage
equals, findInitializationErrors, getInitializationErrorString, getSerializedSize, hashBoolean, hashCode, hashEnum, hashEnumList, hashFields, hashLong, toString, writeTo
-
Methods inherited from class akka.protobuf.AbstractMessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface akka.protobuf.Message
newBuilderForType, toBuilder
-
Methods inherited from interface akka.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from interface akka.protobuf.MessageOrBuilder
getDefaultInstanceForType
-
-
-
-
Field Detail
-
alwaysUseFieldBuilders
protected static boolean alwaysUseFieldBuilders
For testing. Allows a test to disable the optimization that avoids using field builders for nested messages until they are requested. By disabling this optimization, existing tests can be reused to test the field builders.
-
-
Constructor Detail
-
GeneratedMessage
protected GeneratedMessage()
-
GeneratedMessage
protected GeneratedMessage(GeneratedMessage.Builder<?> builder)
-
-
Method Detail
-
getParserForType
public Parser<? extends Message> getParserForType()
Description copied from interface:MessageLite
Gets the parser for a message of the same type as this message.- Specified by:
getParserForType
in interfaceMessage
- Specified by:
getParserForType
in interfaceMessageLite
-
internalGetFieldAccessorTable
protected abstract GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Get the FieldAccessorTable for this type. We can't have the message class pass this in to the constructor because of bootstrapping trouble with DescriptorProtos.
-
getDescriptorForType
public Descriptors.Descriptor getDescriptorForType()
Description copied from interface:MessageOrBuilder
Get the message's type's descriptor. This differs from thegetDescriptor()
method of generated message classes in that this method is an abstract method of theMessage
interface whereasgetDescriptor()
is a static method of a specific class. They return the same thing.- Specified by:
getDescriptorForType
in interfaceMessageOrBuilder
-
isInitialized
public boolean isInitialized()
Description copied from interface:MessageLiteOrBuilder
Returns true if all required fields in the message and all embedded messages are set, false otherwise.- Specified by:
isInitialized
in interfaceMessageLiteOrBuilder
- Overrides:
isInitialized
in classAbstractMessage
-
getAllFields
public java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> getAllFields()
Description copied from interface:MessageOrBuilder
Returns a collection of all the fields in this message which are set and their corresponding values. A singular ("required" or "optional") field is set iff hasField() returns true for that field. A "repeated" field is set iff getRepeatedFieldSize() is greater than zero. The values are exactly what would be returned by callingMessageOrBuilder.getField(Descriptors.FieldDescriptor)
for each field. The map is guaranteed to be a sorted map, so iterating over it will return fields in order by field number.
If this is for a builder, the returned map may or may not reflect future changes to the builder. Either way, the returned map is itself unmodifiable.- Specified by:
getAllFields
in interfaceMessageOrBuilder
-
hasField
public boolean hasField(Descriptors.FieldDescriptor field)
Description copied from interface:MessageOrBuilder
Returns true if the given field is set. This is exactly equivalent to calling the generated "has" accessor method corresponding to the field.- Specified by:
hasField
in interfaceMessageOrBuilder
-
getField
public java.lang.Object getField(Descriptors.FieldDescriptor field)
Description copied from interface:MessageOrBuilder
Obtains the value of the given field, or the default value if it is not set. For primitive fields, the boxed primitive value is returned. For enum fields, the EnumValueDescriptor for the value is returned. For embedded message fields, the sub-message is returned. For repeated fields, a java.util.List is returned.- Specified by:
getField
in interfaceMessageOrBuilder
-
getRepeatedFieldCount
public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Description copied from interface:MessageOrBuilder
Gets the number of elements of a repeated field. This is exactly equivalent to calling the generated "Count" accessor method corresponding to the field.- Specified by:
getRepeatedFieldCount
in interfaceMessageOrBuilder
-
getRepeatedField
public java.lang.Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
Description copied from interface:MessageOrBuilder
Gets an element of a repeated field. For primitive fields, the boxed primitive value is returned. For enum fields, the EnumValueDescriptor for the value is returned. For embedded message fields, the sub-message is returned.- Specified by:
getRepeatedField
in interfaceMessageOrBuilder
-
getUnknownFields
public UnknownFieldSet getUnknownFields()
Description copied from interface:MessageOrBuilder
Get theUnknownFieldSet
for this message.- Specified by:
getUnknownFields
in interfaceMessageOrBuilder
-
parseUnknownField
protected boolean parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag) throws java.io.IOException
Called by subclasses to parse an unknown field.- Returns:
true
unless the tag is an end-group tag.- Throws:
java.io.IOException
-
makeExtensionsImmutable
protected void makeExtensionsImmutable()
Used by parsing constructors in generated classes.
-
newBuilderForType
protected abstract Message.Builder newBuilderForType(GeneratedMessage.BuilderParent parent)
-
newMessageScopedGeneratedExtension
public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newMessageScopedGeneratedExtension(Message scope, int descriptorIndex, java.lang.Class singularType, Message defaultInstance)
For use by generated code only.
-
newFileScopedGeneratedExtension
public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newFileScopedGeneratedExtension(java.lang.Class singularType, Message defaultInstance)
For use by generated code only.
-
writeReplace
protected java.lang.Object writeReplace() throws java.io.ObjectStreamException
Replaces this object in the output stream with a serialized form. Part of Java's serialization magic. Generated sub-classes must override this method by callingreturn super.writeReplace();
- Returns:
- a SerializedForm of this message
- Throws:
java.io.ObjectStreamException
-
-