Package com.google.protobuf
Class AbstractMessage
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
- All Implemented Interfaces:
Message
,MessageLite
,MessageLiteOrBuilder
,MessageOrBuilder
- Direct Known Subclasses:
DynamicMessage
,GeneratedMessage
,MapEntry
A partial implementation of the
Message
interface which implements as many methods of
that interface as possible in terms of other methods.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A partial implementation of theMessage.Builder
interface which implements as many methods of that interface as possible in terms of other methods.protected static interface
Interface for the parent of a Builder that allows the builder to communicate invalidations back to the parent for use when using nested builders.Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
AbstractMessageLite.InternalOneOfEnum
-
Field Summary
FieldsFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
compareBytes
(Object a, Object b) Compares two bytes fields.(package private) static boolean
Compares two sets of fields.private static boolean
compareMapField
(Object a, Object b) Compares two map fields.private static Map
convertMapEntryListToMap
(List list) Converts a list of MapEntry messages into a Map used for equals() and hashCode().boolean
Compares the specified object with this message for equality.Returns a list of field paths (e.g.Returns a comma-delimited list of required fields which are not set in this message object.(package private) int
Obtains the FieldDescriptor if the given oneof is set.int
Get the number of bytes required to encode this message.int
hashCode()
Returns the hash code value for this message.protected static int
hashFields
(int hash, Map<Descriptors.FieldDescriptor, Object> map) Get a hash code for given fields and values, using the given seed.private static int
hashMapField
(Object value) Calculates the hash code of a map field.boolean
Returns true if the given oneof is set.boolean
Returns true if all required fields in the message and all embedded messages are set, false otherwise.protected Message.Builder
Create a nested builder.(package private) UninitializedMessageException
Package private helper method for AbstractParser to create UninitializedMessageException with missing field information.(package private) void
setMemoizedSerializedSize
(int size) private static ByteString
toByteString
(Object value) final String
toString()
Converts the message to a string in protocol buffer text format.void
writeTo
(CodedOutputStream output) Serializes the message and writes it tooutput
.Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, getSerializedSize, 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
getParserForType, newBuilderForType, toBuilder
Methods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from interface com.google.protobuf.MessageOrBuilder
getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField
-
Field Details
-
memoizedSize
protected int memoizedSize
-
-
Constructor Details
-
AbstractMessage
public AbstractMessage()
-
-
Method Details
-
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
-
newBuilderForType
Create a nested builder. -
findInitializationErrors
Description copied from interface:MessageOrBuilder
Returns a list of field paths (e.g. "foo.bar.baz") of required fields which are not set in this message. You should callMessageLiteOrBuilder.isInitialized()
first to check if there are any missing fields, as that method is likely to be much faster than this one even when the message is fully-initialized.- Specified by:
findInitializationErrors
in interfaceMessageOrBuilder
-
getInitializationErrorString
Description copied from interface:MessageOrBuilder
Returns a comma-delimited list of required fields which are not set in this message object. You should callMessageLiteOrBuilder.isInitialized()
first to check if there are any missing fields, as that method is likely to be much faster than this one even when the message is fully-initialized.- Specified by:
getInitializationErrorString
in interfaceMessageOrBuilder
-
hasOneof
Description copied from interface:MessageOrBuilder
Returns true if the given oneof is set.- Specified by:
hasOneof
in interfaceMessageOrBuilder
-
getOneofFieldDescriptor
Description copied from interface:MessageOrBuilder
Obtains the FieldDescriptor if the given oneof is set. Returns null if no field is set.- Specified by:
getOneofFieldDescriptor
in interfaceMessageOrBuilder
-
toString
Description copied from interface:Message
Converts the message to a string in protocol buffer text format. This is just a trivial wrapper aroundTextFormat.Printer.printToString(MessageOrBuilder)
. -
writeTo
Description copied from interface:MessageLite
Serializes the message and writes it tooutput
. This does not flush or close the stream.- Specified by:
writeTo
in interfaceMessageLite
- Throws:
IOException
-
getMemoizedSerializedSize
int getMemoizedSerializedSize()- Overrides:
getMemoizedSerializedSize
in classAbstractMessageLite
-
setMemoizedSerializedSize
void setMemoizedSerializedSize(int size) - Overrides:
setMemoizedSerializedSize
in classAbstractMessageLite
-
getSerializedSize
public int getSerializedSize()Description copied from interface:MessageLite
Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that. If this message requires more than Integer.MAX_VALUE bytes to encode, the return value will be smaller than the actual number of bytes required and might be negative.- Specified by:
getSerializedSize
in interfaceMessageLite
-
equals
Description copied from interface:Message
Compares the specified object with this message for equality. Returnstrue
if the given object is a message of the same type (as defined bygetDescriptorForType()
) and has identical values for all of its fields. Subclasses must implement this; inheritingObject.equals()
is incorrect. -
hashCode
public int hashCode()Description copied from interface:Message
Returns the hash code value for this message. The hash code of a message should mix the message's type (object identity of the descriptor) with its contents (known and unknown field values). Subclasses must implement this; inheritingObject.hashCode()
is incorrect. -
toByteString
-
compareBytes
Compares two bytes fields. The parameters must be either a byte array or a ByteString object. They can be of different type though. -
convertMapEntryListToMap
Converts a list of MapEntry messages into a Map used for equals() and hashCode(). -
compareMapField
Compares two map fields. The parameters must be a list of MapEntry messages. -
compareFields
static boolean compareFields(Map<Descriptors.FieldDescriptor, Object> a, Map<Descriptors.FieldDescriptor, Object> b) Compares two sets of fields. This method is used to implementequals(Object)
andinvalid reference
AbstractMutableMessage#equals(Object)
-
hashMapField
Calculates the hash code of a map field.value
must be a list of MapEntry messages. -
hashFields
Get a hash code for given fields and values, using the given seed. -
newUninitializedMessageException
UninitializedMessageException newUninitializedMessageException()Package private helper method for AbstractParser to create UninitializedMessageException with missing field information.- Overrides:
newUninitializedMessageException
in classAbstractMessageLite
-