com.google.protobuf
Class GeneratedMessage

java.lang.Object
  extended by com.google.protobuf.AbstractMessageLite
      extended by com.google.protobuf.AbstractMessage
          extended by com.google.protobuf.GeneratedMessage
All Implemented Interfaces:
Message, MessageLite
Direct Known Subclasses:
GeneratedMessage.ExtendableMessage

public abstract class GeneratedMessage
extends AbstractMessage

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.

Author:
[email protected] Kenton Varda

Nested Class Summary
static class GeneratedMessage.Builder<BuilderType extends GeneratedMessage.Builder>
           
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 class GeneratedMessage.FieldAccessorTable
          Users should ignore this class.
static class GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type>
          Type used to represent generated extensions.
 
Constructor Summary
protected GeneratedMessage()
           
 
Method Summary
 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.
 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 the UnknownFieldSet 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.
static
<ContainingType extends Message,Type>
GeneratedMessage.GeneratedExtension<ContainingType,Type>
newGeneratedExtension()
          For use by generated code only.
 
Methods inherited from class com.google.protobuf.AbstractMessage
equals, getSerializedSize, hashCode, toString, writeTo
 
Methods inherited from class com.google.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 com.google.protobuf.Message
getDefaultInstanceForType, newBuilderForType, toBuilder
 
Methods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
 

Constructor Detail

GeneratedMessage

protected GeneratedMessage()
Method Detail

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: Message
Get the message's type's descriptor. This differs from the getDescriptor() method of generated message classes in that this method is an abstract method of the Message interface whereas getDescriptor() is a static method of a specific class. They return the same thing.


isInitialized

public boolean isInitialized()
Description copied from interface: MessageLite
Returns true if all required fields in the message and all embedded messages are set, false otherwise.

Specified by:
isInitialized in interface MessageLite
Overrides:
isInitialized in class AbstractMessage

getAllFields

public java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> getAllFields()
Description copied from interface: Message
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 calling Message.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.


hasField

public boolean hasField(Descriptors.FieldDescriptor field)
Description copied from interface: Message
Returns true if the given field is set. This is exactly equivalent to calling the generated "has" accessor method corresponding to the field.


getField

public java.lang.Object getField(Descriptors.FieldDescriptor field)
Description copied from interface: Message
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 returend. For embedded message fields, the sub-message is returned. For repeated fields, a java.util.List is returned.


getRepeatedFieldCount

public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Description copied from interface: Message
Gets the number of elements of a repeated field. This is exactly equivalent to calling the generated "Count" accessor method corresponding to the field.


getRepeatedField

public java.lang.Object getRepeatedField(Descriptors.FieldDescriptor field,
                                         int index)
Description copied from interface: Message
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 returend. For embedded message fields, the sub-message is returned.


getUnknownFields

public final UnknownFieldSet getUnknownFields()
Description copied from interface: Message
Get the UnknownFieldSet for this message.


newGeneratedExtension

public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newGeneratedExtension()
For use by generated code only.



Copyright © 2008-2010 Google. All Rights Reserved.