Interface Message.Builder (3.19.4)

  public 
  
 static 
  
 interface 
 Message 
 . 
 Builder 
  
 extends 
  
 MessageLite 
 . 
 Builder 
 , 
  
 MessageOrBuilder 
 

Abstract interface implemented by Protocol Message builders.

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 addRepeatedField 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 , 
  
 Object 
  
 value 
 ) 
 

Like setRepeatedField , but appends the value as a new element.

Parameters
Name
Description
value
Returns
Type
Description

build()

  public 
  
 abstract 
  
 Message 
  
 build 
 () 
 

Constructs the message based on the state of the Builder. Subsequent changes to the Builder will not affect the returned message.

Returns
Type
Description

buildPartial()

  public 
  
 abstract 
  
 Message 
  
 buildPartial 
 () 
 

Like #build() , but does not throw an exception if the message is missing required fields. Instead, a partial message is returned. Subsequent changes to the Builder will not affect the returned message.

Returns
Type
Description

clear()

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 clear 
 () 
 

Resets all fields to their default values.

Returns
Type
Description

clearField(Descriptors.FieldDescriptor field)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 clearField 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 ) 
 

Clears the field. This is exactly equivalent to calling the generated "clear" accessor method corresponding to the field.

Parameter
Name
Description
Returns
Type
Description

clearOneof(Descriptors.OneofDescriptor oneof)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 clearOneof 
 ( 
 Descriptors 
 . 
 OneofDescriptor 
  
 oneof 
 ) 
 

Clears the oneof. This is exactly equivalent to calling the generated "clear" accessor method corresponding to the oneof.

Parameter
Name
Description
Returns
Type
Description

clone()

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 clone 
 () 
 

Clones the Builder.

Returns
Type
Description

getDescriptorForType()

  public 
  
 abstract 
  
 Descriptors 
 . 
 Descriptor 
  
 getDescriptorForType 
 () 
 

Get the message's type's descriptor. See Message#getDescriptorForType() .

Returns
Type
Description

getFieldBuilder(Descriptors.FieldDescriptor field)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 getFieldBuilder 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 ) 
 

Get a nested builder instance for the given field.

Normally, we hold a reference to the immutable message object for the message type field. Some implementations(the generated message builders), however, can also hold a reference to the builder object (a nested builder) for the field.

If the field is already backed up by a nested builder, the nested builder will be returned. Otherwise, a new field builder will be created and returned. The original message field (if exist) will be merged into the field builder, which will then be nested into its parent builder.

NOTE: implementations that do not support nested builders will throw UnsupportedOperationException .

Parameter
Name
Description
Returns
Type
Description

getRepeatedFieldBuilder(Descriptors.FieldDescriptor field, int index)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 getRepeatedFieldBuilder 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 , 
  
 int 
  
 index 
 ) 
 

Get a nested builder instance for the given repeated field instance.

Normally, we hold a reference to the immutable message object for the message type field. Some implementations(the generated message builders), however, can also hold a reference to the builder object (a nested builder) for the field.

If the field is already backed up by a nested builder, the nested builder will be returned. Otherwise, a new field builder will be created and returned. The original message field (if exist) will be merged into the field builder, which will then be nested into its parent builder.

NOTE: implementations that do not support nested builders will throw UnsupportedOperationException .

Parameters
Name
Description
index
int
Returns
Type
Description

mergeDelimitedFrom(InputStream input)

  public 
  
 abstract 
  
 boolean 
  
 mergeDelimitedFrom 
 ( 
 InputStream 
  
 input 
 ) 
 

Like #mergeFrom(InputStream) , but does not read until EOF. Instead, the size of the message (encoded as a varint) is read first, then the message data. Use MessageLite#writeDelimitedTo(OutputStream) to write messages in this format.

Parameter
Name
Description
input
Returns
Type
Description
Exceptions
Type
Description

mergeDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)

  public 
  
 abstract 
  
 boolean 
  
 mergeDelimitedFrom 
 ( 
 InputStream 
  
 input 
 , 
  
 ExtensionRegistryLite 
  
 extensionRegistry 
 ) 
 

Like #mergeDelimitedFrom(InputStream) but supporting extensions.

Parameters
Name
Description
input
extensionRegistry
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(byte[] data)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 byte 
 [] 
  
 data 
 ) 
 

Parse data as a message of this type and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream) .

Parameter
Name
Description
data
byte []
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(byte[] data, ExtensionRegistryLite extensionRegistry)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 byte 
 [] 
  
 data 
 , 
  
 ExtensionRegistryLite 
  
 extensionRegistry 
 ) 
 

Parse data as a message of this type and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream,ExtensionRegistryLite) .

Parameters
Name
Description
data
byte []
extensionRegistry
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(byte[] data, int off, int len)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 byte 
 [] 
  
 data 
 , 
  
 int 
  
 off 
 , 
  
 int 
  
 len 
 ) 
 

Parse data as a message of this type and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream) .

Parameters
Name
Description
data
byte []
off
int
len
int
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(byte[] data, int off, int len, ExtensionRegistryLite extensionRegistry)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 byte 
 [] 
  
 data 
 , 
  
 int 
  
 off 
 , 
  
 int 
  
 len 
 , 
  
 ExtensionRegistryLite 
  
 extensionRegistry 
 ) 
 

Parse data as a message of this type and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream,ExtensionRegistryLite) .

Parameters
Name
Description
data
byte []
off
int
len
int
extensionRegistry
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(ByteString data)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 ByteString 
  
 data 
 ) 
 

Parse data as a message of this type and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream) .

Parameter
Name
Description
data
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(ByteString data, ExtensionRegistryLite extensionRegistry)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 ByteString 
  
 data 
 , 
  
 ExtensionRegistryLite 
  
 extensionRegistry 
 ) 
 

Parse data as a message of this type and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream,ExtensionRegistryLite) .

Parameters
Name
Description
data
extensionRegistry
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(CodedInputStream input)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 CodedInputStream 
  
 input 
 ) 
 

Parses a message of this type from the input and merges it with this message.

Warning: This does not verify that all required fields are present in the input message. If you call #build() without setting all required fields, it will throw an UninitializedMessageException , which is a RuntimeException and thus might not be caught. There are a few good ways to deal with this:

  • Call #isInitialized() to verify that all required fields are set before building.
  • Use buildPartial() to build, which ignores missing required fields.

Note: The caller should call CodedInputStream#checkLastTagWas(int) after calling this to verify that the last tag seen was the appropriate end-group tag, or zero for EOF.

Parameter
Name
Description
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 CodedInputStream 
  
 input 
 , 
  
 ExtensionRegistryLite 
  
 extensionRegistry 
 ) 
 

Like Builder#mergeFrom(CodedInputStream) , but also parses extensions. The extensions that you want to be able to parse must be registered in extensionRegistry . Extensions not in the registry will be treated as unknown fields.

Parameters
Name
Description
extensionRegistry
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(Message other)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 Message 
  
 other 
 ) 
 

Merge other into the message being built. other must have the exact same type as this (i.e. getDescriptorForType() == other.getDescriptorForType() ).

Merging occurs as follows. For each field:

  • For singular primitive fields, if the field is set in other , then other 's value overwrites the value in this message.
  • For singular message fields, if the field is set in other , it is merged into the corresponding sub-message of this message using the same merging rules.
  • For repeated fields, the elements in other are concatenated with the elements in this message.
  • For oneof groups, if the other message has one of the fields set, the group of this message is cleared and replaced by the field of the other message, so that the oneof constraint is preserved.

    This is equivalent to the Message::MergeFrom method in C++.

Parameter
Name
Description
other
Returns
Type
Description

mergeFrom(InputStream input)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 InputStream 
  
 input 
 ) 
 

Parse a message of this type from input and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream) . Note that this method always reads the entire input (unless it throws an exception). If you want it to stop earlier, you will need to wrap your input in some wrapper stream that limits reading. Or, use MessageLite#writeDelimitedTo(OutputStream) to write your message and #mergeDelimitedFrom(InputStream) to read it.

Despite usually reading the entire input, this does not close the stream.

Parameter
Name
Description
input
Returns
Type
Description
Exceptions
Type
Description

mergeFrom(InputStream input, ExtensionRegistryLite extensionRegistry)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeFrom 
 ( 
 InputStream 
  
 input 
 , 
  
 ExtensionRegistryLite 
  
 extensionRegistry 
 ) 
 

Parse a message of this type from input and merge it with the message being built. This is just a small wrapper around #mergeFrom(CodedInputStream,ExtensionRegistryLite) .

Parameters
Name
Description
input
extensionRegistry
Returns
Type
Description
Exceptions
Type
Description

mergeUnknownFields(UnknownFieldSet unknownFields)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 mergeUnknownFields 
 ( 
 UnknownFieldSet 
  
 unknownFields 
 ) 
 

Merge some unknown fields into the UnknownFieldSet for this message.

Parameter
Name
Description
unknownFields
Returns
Type
Description

newBuilderForField(Descriptors.FieldDescriptor field)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 newBuilderForField 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 ) 
 

Create a builder for messages of the appropriate type for the given field. The builder is NOT nested in the current builder. However, messages built with the builder can then be passed to the #setField(Descriptors.FieldDescriptor, Object) , #setRepeatedField(Descriptors.FieldDescriptor, int, Object) , or #addRepeatedField(Descriptors.FieldDescriptor, Object) method of the current builder.

To obtain a builder nested in the current builder, use #getFieldBuilder(Descriptors.FieldDescriptor) instead.

Parameter
Name
Description
Returns
Type
Description

setField(Descriptors.FieldDescriptor field, Object value)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 setField 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 , 
  
 Object 
  
 value 
 ) 
 

Sets a field to the given value. The value must be of the correct type for this field, i.e. the same type that Message#getField(Descriptors.FieldDescriptor) would return.

Parameters
Name
Description
value
Returns
Type
Description

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 setRepeatedField 
 ( 
 Descriptors 
 . 
 FieldDescriptor 
  
 field 
 , 
  
 int 
  
 index 
 , 
  
 Object 
  
 value 
 ) 
 

Sets an element of a repeated field to the given value. The value must be of the correct type for this field, i.e. the same type that Message#getRepeatedField(Descriptors.FieldDescriptor,int) would return.

Parameters
Name
Description
index
int
value
Returns
Type
Description

setUnknownFields(UnknownFieldSet unknownFields)

  public 
  
 abstract 
  
 Message 
 . 
 Builder 
  
 setUnknownFields 
 ( 
 UnknownFieldSet 
  
 unknownFields 
 ) 
 

Set the UnknownFieldSet for this message.

Parameter
Name
Description
unknownFields
Returns
Type
Description
Design a Mobile Site
View Site in Mobile | Classic
Share by: