Class UnknownFieldSet.Builder
- All Implemented Interfaces:
MessageLite.Builder,MessageLiteOrBuilder,Cloneable
- Enclosing class:
- UnknownFieldSet
UnknownFieldSets.
Note that this class maintains UnknownFieldSet.Field.Builders for all fields in the set. Thus,
adding one element to an existing UnknownFieldSet.Field does not require making a copy. This is
important for efficient parsing of unknown repeated fields. However, it implies that UnknownFieldSet.Fields cannot be constructed independently, nor can two UnknownFieldSets share the
same Field object.
Use UnknownFieldSet.newBuilder() to construct a Builder.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddField(int number, UnknownFieldSet.Field field) Add a field to theUnknownFieldSet.asMap()Get all presentFields as an immutableMap.build()Build theUnknownFieldSetand return it.LikeMessageLite.Builder.build(), but does not throw an exception if the message is missing required fields.clear()Reset the builder to an empty set.clearField(int number) Clear fields from the set with a given field number.clone()Clones the Builder.private static UnknownFieldSet.Buildercreate()Get an instance of the type with no fields set.private UnknownFieldSet.Field.BuildergetFieldBuilder(int number) Get a field builder for the given field number which includes any values that already exist.booleanhasField(int number) Check if the given field number is present in the set.booleanReturns true if all required fields in the message and all embedded messages are set, false otherwise.booleanmergeDelimitedFrom(InputStream input) LikeMessageLite.Builder.mergeFrom(InputStream), but does not read until EOF.booleanmergeDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry) LikeMessageLite.Builder.mergeDelimitedFrom(InputStream)but supporting extensions.mergeField(int number, UnknownFieldSet.Field field) Add a field to theUnknownFieldSet.booleanmergeFieldFrom(int tag, CodedInputStream input) Parse a single field frominputand merge it into this set.mergeFrom(byte[] data) Parsedataas anUnknownFieldSetand merge it with the set being built.mergeFrom(byte[] data, int off, int len) Parsedataas a message of this type and merge it with the message being built.mergeFrom(byte[] data, int off, int len, ExtensionRegistryLite extensionRegistry) Parsedataas a message of this type and merge it with the message being built.mergeFrom(byte[] data, ExtensionRegistryLite extensionRegistry) Parsedataas a message of this type and merge it with the message being built.mergeFrom(ByteString data) Parsedataas anUnknownFieldSetand merge it with the set being built.mergeFrom(ByteString data, ExtensionRegistryLite extensionRegistry) Parsedataas a message of this type and merge it with the message being built.mergeFrom(CodedInputStream input) Parse an entire message frominputand merge its fields into this set.mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) LikeMessageLite.Builder.mergeFrom(CodedInputStream), but also parses extensions.Mergeotherinto the message being built.mergeFrom(UnknownFieldSet other) Merge the fields fromotherinto this set.mergeFrom(InputStream input) Parse anUnknownFieldSetfrominputand merge it with the set being built.mergeFrom(InputStream input, ExtensionRegistryLite extensionRegistry) Parse a message of this type frominputand merge it with the message being built.mergeLengthDelimitedField(int number, ByteString value) Convenience method for merging a length-delimited field.mergeVarintField(int number, int value) Convenience method for merging a new field containing a single varint value.
-
Field Details
-
fieldBuilders
-
-
Constructor Details
-
Builder
private Builder()
-
-
Method Details
-
create
-
getFieldBuilder
Get a field builder for the given field number which includes any values that already exist. -
build
Build theUnknownFieldSetand return it.- Specified by:
buildin interfaceMessageLite.Builder
-
buildPartial
Description copied from interface:MessageLite.BuilderLikeMessageLite.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:
buildPartialin interfaceMessageLite.Builder
-
clone
Description copied from interface:MessageLite.BuilderClones the Builder.- Specified by:
clonein interfaceMessageLite.Builder- Overrides:
clonein classObject- See Also:
-
getDefaultInstanceForType
Description copied from interface:MessageLiteOrBuilderGet 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 thegetDefaultInstance()method of generated message classes in that this method is an abstract method of theMessageLiteinterface whereasgetDefaultInstance()is a static method of a specific class. They return the same thing.- Specified by:
getDefaultInstanceForTypein interfaceMessageLiteOrBuilder
-
clear
Reset the builder to an empty set.- Specified by:
clearin interfaceMessageLite.Builder
-
clearField
Clear fields from the set with a given field number.- Throws:
IllegalArgumentException- if number is not positive
-
mergeFrom
Merge the fields fromotherinto this set. If a field number exists in both sets,other's values for that field will be appended to the values in this set. -
mergeField
Add a field to theUnknownFieldSet. If a field with the same number already exists, the two are merged.- Throws:
IllegalArgumentException- if number is not positive
-
mergeVarintField
Convenience method for merging a new field containing a single varint value. This is used in particular when an unknown enum value is encountered.- Throws:
IllegalArgumentException- if number is not positive
-
mergeLengthDelimitedField
Convenience method for merging a length-delimited field.For use by generated code only.
- Throws:
IllegalArgumentException- if number is not positive
-
hasField
public boolean hasField(int number) Check if the given field number is present in the set. -
addField
Add a field to theUnknownFieldSet. If a field with the same number already exists, it is removed.- Throws:
IllegalArgumentException- if number is not positive
-
asMap
Get all presentFields as an immutableMap. If more fields are added, the changes may or may not be reflected in this map. -
mergeFrom
Parse an entire message frominputand merge its fields into this set.- Specified by:
mergeFromin interfaceMessageLite.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
-
mergeFieldFrom
Parse a single field frominputand merge it into this set.- Parameters:
tag- The field's tag number, which was already parsed.- Returns:
falseif the tag is an end group tag.- Throws:
IOException
-
mergeFrom
Parsedataas anUnknownFieldSetand merge it with the set being built. This is just a small wrapper aroundmergeFrom(CodedInputStream).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
InvalidProtocolBufferException- the bytes in data 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.
-
mergeFrom
Parsedataas anUnknownFieldSetand merge it with the set being built. This is just a small wrapper aroundmergeFrom(CodedInputStream).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
InvalidProtocolBufferException- the bytes in data 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.
-
mergeFrom
Parse anUnknownFieldSetfrominputand merge it with the set being built. This is just a small wrapper aroundmergeFrom(CodedInputStream).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- 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
-
mergeDelimitedFrom
Description copied from interface:MessageLite.BuilderLikeMessageLite.Builder.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. UseMessageLite.writeDelimitedTo(OutputStream)to write messages in this format.- Specified by:
mergeDelimitedFromin interfaceMessageLite.Builder- Returns:
- true if successful, or false if the stream is at EOF when the method starts. Any other error (including reaching EOF during parsing) causes an exception to be thrown.
- 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
-
mergeDelimitedFrom
public boolean mergeDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException Description copied from interface:MessageLite.BuilderLikeMessageLite.Builder.mergeDelimitedFrom(InputStream)but supporting extensions.- Specified by:
mergeDelimitedFromin interfaceMessageLite.Builder- Returns:
- true if successful, or false if the stream is at EOF when the method starts. Any other error (including reaching EOF during parsing) causes an exception to be thrown.
- 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
-
mergeFrom
public UnknownFieldSet.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException Description copied from interface:MessageLite.BuilderLikeMessageLite.Builder.mergeFrom(CodedInputStream), but also parses extensions. The extensions that you want to be able to parse must be registered inextensionRegistry. Extensions not in the registry will be treated as unknown fields.- Specified by:
mergeFromin interfaceMessageLite.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
-
mergeFrom
public UnknownFieldSet.Builder mergeFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException Description copied from interface:MessageLite.BuilderParsedataas a message of this type and merge it with the message being built. This is just a small wrapper aroundMessageLite.Builder.mergeFrom(CodedInputStream,ExtensionRegistryLite).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
InvalidProtocolBufferException- the bytes in data 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.
-
mergeFrom
public UnknownFieldSet.Builder mergeFrom(byte[] data, int off, int len) throws InvalidProtocolBufferException Description copied from interface:MessageLite.BuilderParsedataas a message of this type and merge it with the message being built. This is just a small wrapper aroundMessageLite.Builder.mergeFrom(CodedInputStream).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
InvalidProtocolBufferException- the bytes in data 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.
-
mergeFrom
public UnknownFieldSet.Builder mergeFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException Description copied from interface:MessageLite.BuilderParsedataas a message of this type and merge it with the message being built. This is just a small wrapper aroundMessageLite.Builder.mergeFrom(CodedInputStream,ExtensionRegistryLite).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
InvalidProtocolBufferException- the bytes in data 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.
-
mergeFrom
public UnknownFieldSet.Builder mergeFrom(byte[] data, int off, int len, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException Description copied from interface:MessageLite.BuilderParsedataas a message of this type and merge it with the message being built. This is just a small wrapper aroundMessageLite.Builder.mergeFrom(CodedInputStream,ExtensionRegistryLite).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
InvalidProtocolBufferException- the bytes in data 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.
-
mergeFrom
public UnknownFieldSet.Builder mergeFrom(InputStream input, ExtensionRegistryLite extensionRegistry) throws IOException Description copied from interface:MessageLite.BuilderParse a message of this type frominputand merge it with the message being built. This is just a small wrapper aroundMessageLite.Builder.mergeFrom(CodedInputStream,ExtensionRegistryLite).- Specified by:
mergeFromin interfaceMessageLite.Builder- Returns:
- this
- Throws:
IOException
-
mergeFrom
Description copied from interface:MessageLite.BuilderMergeotherinto the message being built.othermust have the exact same type asthis(i.e.getClass().equals(getDefaultInstanceForType().getClass())).Merging occurs as follows. For each field:
* For singular primitive fields, if the field is set inother, thenother's value overwrites the value in this message.
* For singular message fields, if the field is set inother, it is merged into the corresponding sub-message of this message using the same merging rules.
* For repeated fields, the elements inotherare 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::MergeFrommethod in C++.- Specified by:
mergeFromin interfaceMessageLite.Builder
-
isInitialized
public boolean isInitialized()Description copied from interface:MessageLiteOrBuilderReturns true if all required fields in the message and all embedded messages are set, false otherwise.- Specified by:
isInitializedin interfaceMessageLiteOrBuilder
-