Package com.google.protobuf

# Class Struct.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Struct.Builder>
com.google.protobuf.Struct.Builder

All Implemented Interfaces:
  `Message.Builder`, `MessageLite.Builder`, `MessageLiteOrBuilder`, `MessageOrBuilder`, `StructOrBuilder`, `Cloneable`

Enclosing class:
  Struct

public static final class Struct.Builder extends GeneratedMessageV3.Builder<Struct.Builder> implements StructOrBuilder
Protobuf type `google.protobuf.Struct`

## Method Summary

Modifier and Type
Method
Description
`Struct`
`build()`
Constructs the message based on the state of the Builder.
`Struct`
`buildPartial()`
Like `MessageLite.Builder.build()`, but does not throw an exception if the message is missing required fields.
`Struct.Builder`
`clear()`
Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.
`Struct.Builder`
`clearFields()`
`boolean`
`containsFields(String key)`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Struct`
`getDefaultInstanceForType()`
Get an instance of the type with no fields set.
`static final Descriptors.Descriptor`
`getDescriptor()`
`Descriptors.Descriptor`
`getDescriptorForType()`
Get the message's type's descriptor.
`Map<String,Value>`
`getFields()`
Deprecated.
`int`
`getFieldsCount()`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Map<String,Value>`
`getFieldsMap()`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Value`
`getFieldsOrDefault(String key, Value defaultValue)`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Value`
`getFieldsOrThrow(String key)`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Map<String,Value>`
`getMutableFields()`
Deprecated.
`protected GeneratedMessageV3.FieldAccessorTable`
`internalGetFieldAccessorTable()`
Get the FieldAccessorTable for this type.
`protected MapField`
`internalGetMapField(int number)`
Gets the map field with the given field number.
`protected MapField`
`internalGetMutableMapField(int number)`
Like `GeneratedMessageV3.Builder.internalGetMapField(int)` but return a mutable version.
`final boolean`
`isInitialized()`
Returns true if all required fields in the message and all embedded messages are set, false otherwise.
`Struct.Builder`
`mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)`
Like `MessageLite.Builder.mergeFrom(CodedInputStream)`, but also parses extensions.
`Struct.Builder`
`mergeFrom(Message other)`
Merge `other` into the message being built.
`Struct.Builder`
`mergeFrom(Struct other)`
`final Struct.Builder`
`mergeUnknownFields(UnknownFieldSet unknownFields)`
Merge some unknown fields into the `UnknownFieldSet` for this message.
`Struct.Builder`
`putAllFields(Map<String,Value> values)`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Struct.Builder`
`putFields(String key, Value value)`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`Struct.Builder`
`removeFields(String key)`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`
`final Struct.Builder`
`setUnknownFields(UnknownFieldSet unknownFields)`
Set the `UnknownFieldSet` for this message.

### Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder

`addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFieldSetBuilder, setUnknownFieldsProto3`

### Methods inherited from class com.google.protobuf.AbstractMessage.Builder

`findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString`

### Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

`addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface com.google.protobuf.Message.Builder

`mergeDelimitedFrom, mergeDelimitedFrom`

### Methods inherited from interface com.google.protobuf.MessageLite.Builder

`mergeFrom`

### Methods inherited from interface com.google.protobuf.MessageOrBuilder

`findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof`

## Method Details

### getDescriptor

public static final Descriptors.Descriptor getDescriptor()

### internalGetMapField

protected MapField internalGetMapField(int number)
Description copied from class: `GeneratedMessageV3.Builder`
Gets the map field with the given field number. This method should be overridden in the generated message class if the message contains map fields.

Unlike other field types, reflection support for map fields can't be implemented based on generated public API because we need to access a map field as a list in reflection API but the generated API only allows us to access it as a map. This method returns the underlying map field directly and thus enables us to access the map field as a list.

Overrides:
  `internalGetMapField` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### internalGetMutableMapField

protected MapField internalGetMutableMapField(int number)
Description copied from class: `GeneratedMessageV3.Builder`
Like `GeneratedMessageV3.Builder.internalGetMapField(int)` but return a mutable version.

Overrides:
  `internalGetMutableMapField` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### internalGetFieldAccessorTable

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Description copied from class: `GeneratedMessageV3.Builder`
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.

Specified by:
  `internalGetFieldAccessorTable` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### clear

public Struct.Builder clear()
Description copied from class: `GeneratedMessageV3.Builder`
Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.

Specified by:
  `clear` in interface `Message.Builder`
Specified by:
  `clear` in interface `MessageLite.Builder`
Overrides:
  `clear` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### getDescriptorForType

public Descriptors.Descriptor getDescriptorForType()
Description copied from interface: `Message.Builder`
Get the message's type's descriptor. See `MessageOrBuilder.getDescriptorForType()`.

Specified by:
  `getDescriptorForType` in interface `Message.Builder`
Specified by:
  `getDescriptorForType` in interface `MessageOrBuilder`
Overrides:
  `getDescriptorForType` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### getDefaultInstanceForType

public Struct getDefaultInstanceForType()
Description copied from interface: `MessageLiteOrBuilder`
Get an instance of the type with no fields set. Because no fields are set, all getters for singular fields will return default values and repeated fields will appear empty. This may or may not be a singleton. This differs from the `getDefaultInstance()` method of generated message classes in that this method is an abstract method of the `MessageLite` interface whereas `getDefaultInstance()` is a static method of a specific class. They return the same thing.

Specified by:
  `getDefaultInstanceForType` in interface `MessageLiteOrBuilder`
Specified by:
  `getDefaultInstanceForType` in interface `MessageOrBuilder`

### build

public Struct build()
Description copied from interface: `MessageLite.Builder`
Constructs the message based on the state of the Builder. Subsequent changes to the Builder will not affect the returned message.

Specified by:
  `build` in interface `Message.Builder`
Specified by:
  `build` in interface `MessageLite.Builder`

### buildPartial

public Struct buildPartial()
Description copied from interface: `MessageLite.Builder`
Like `MessageLite.Builder.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.

Specified by:
  `buildPartial` in interface `Message.Builder`
Specified by:
  `buildPartial` in interface `MessageLite.Builder`

### mergeFrom

public Struct.Builder mergeFrom(Message other)
Description copied from interface: `Message.Builder`
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++.

Specified by:
  `mergeFrom` in interface `Message.Builder`
Overrides:
  `mergeFrom` in class `AbstractMessage.Builder<Struct.Builder>`

### mergeFrom

public Struct.Builder mergeFrom(Struct other)

### isInitialized

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

See also: `MessageOrBuilder.getInitializationErrorString()`

Specified by:
  `isInitialized` in interface `MessageLiteOrBuilder`
Overrides:
  `isInitialized` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### mergeFrom

public Struct.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException
Description copied from interface: `MessageLite.Builder`
Like `MessageLite.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.

Specified by:
  `mergeFrom` in interface `Message.Builder`
Specified by:
  `mergeFrom` in interface `MessageLite.Builder`
Overrides:
  `mergeFrom` in class `AbstractMessage.Builder<Struct.Builder>`
Throws:
  `InvalidProtocolBufferException` - the bytes read are not syntactically correct according to the protobuf wire format specification. The data is corrupt, incomplete, or was never a protobuf in the first place.
  `IOException` - an I/O error reading from the stream

### getFieldsCount

public int getFieldsCount()
Description copied from interface: `StructOrBuilder`
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

Specified by:
  `getFieldsCount` in interface `StructOrBuilder`

### containsFields

public boolean containsFields(String key)
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

Specified by:
  `containsFields` in interface `StructOrBuilder`

### getFields

@Deprecated public Map<String,Value> getFields()
Deprecated.
Use `getFieldsMap()` instead.

Specified by:
  `getFields` in interface `StructOrBuilder`

### getFieldsMap

public Map<String,Value> getFieldsMap()
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

Specified by:
  `getFieldsMap` in interface `StructOrBuilder`

### getFieldsOrDefault

public Value getFieldsOrDefault(String key, Value defaultValue)
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

Specified by:
  `getFieldsOrDefault` in interface `StructOrBuilder`

### getFieldsOrThrow

public Value getFieldsOrThrow(String key)
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

Specified by:
  `getFieldsOrThrow` in interface `StructOrBuilder`

### clearFields

public Struct.Builder clearFields()

### removeFields

public Struct.Builder removeFields(String key)
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

### getMutableFields

@Deprecated public Map<String,Value> getMutableFields()
Deprecated.
Use alternate mutation accessors instead.

### putFields

public Struct.Builder putFields(String key, Value value)
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

### putAllFields

public Struct.Builder putAllFields(Map<String,Value> values)
`map<string, .google.protobuf.Value> fields = 1 [json_name = "fields"];`

### setUnknownFields

public final Struct.Builder setUnknownFields(UnknownFieldSet unknownFields)
Description copied from interface: `Message.Builder`
Set the `UnknownFieldSet` for this message.

Specified by:
  `setUnknownFields` in interface `Message.Builder`
Overrides:
  `setUnknownFields` in class `GeneratedMessageV3.Builder<Struct.Builder>`

### mergeUnknownFields

public final Struct.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Description copied from interface: `Message.Builder`
Merge some unknown fields into the `UnknownFieldSet` for this message.

Specified by:
  `mergeUnknownFields` in interface `Message.Builder`
Overrides:
  `mergeUnknownFields` in class `GeneratedMessageV3.Builder<Struct.Builder>`