Package com.google.protobuf
Class FieldSet.Builder<T extends FieldSet.FieldDescriptorLite<T>>
java.lang.Object
com.google.protobuf.FieldSet.Builder<T>
- Enclosing class:
FieldSet<T extends FieldSet.FieldDescriptorLite<T>>
A FieldSet Builder that accept a
MessageLite.Builder
as a field value. This is useful
for implementing methods in MessageLite.Builder
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate SmallSortedMap
<T, Object> private boolean
private boolean
private boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addRepeatedField
(T descriptor, Object value) Useful for implementingMessage.Builder.addRepeatedField(Descriptors.FieldDescriptor, Object)
.build()
Creates the FieldSetbuildImpl
(boolean partial) Creates the FieldSet.Creates the FieldSet but does not validate that all required fields are present.void
clearField
(T descriptor) Useful for implementingMessage.Builder.clearField(Descriptors.FieldDescriptor)
.private void
static <T extends FieldSet.FieldDescriptorLite<T>>
FieldSet.Builder<T> fromFieldSet
(FieldSet<T> fieldSet) Returns a new Builder using the fields fromfieldSet
.Get a simple map containing all the fields.Useful for implementingMessageOrBuilder.getField(Descriptors.FieldDescriptor)
.(package private) Object
getFieldAllowBuilders
(T descriptor) Same asgetField(F)
, but allow aMessageLite.Builder
to be returned.getRepeatedField
(T descriptor, int index) Useful for implementingMessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor, int)
.(package private) Object
getRepeatedFieldAllowBuilders
(T descriptor, int index) Same asgetRepeatedField(F, int)
, but allow aMessageLite.Builder
to be returned.int
getRepeatedFieldCount
(T descriptor) Useful for implementingMessageOrBuilder.getRepeatedFieldCount(Descriptors.FieldDescriptor)
.boolean
Useful for implementingMessageOrBuilder.hasField(Descriptors.FieldDescriptor)
.boolean
void
LikeMessage.Builder.mergeFrom(Message)
, but merges from anotherFieldSet
.private void
mergeFromField
(Map.Entry<T, Object> entry) private static Object
replaceBuilder
(Object value, boolean partial) private static <T extends FieldSet.FieldDescriptorLite<T>>
voidreplaceBuilders
(SmallSortedMap<T, Object> fieldMap, boolean partial) private static <T extends FieldSet.FieldDescriptorLite<T>>
voidreplaceBuilders
(Map.Entry<T, Object> entry, boolean partial) private static <T extends FieldSet.FieldDescriptorLite<T>>
ObjectreplaceBuilders
(T descriptor, Object value, boolean partial) void
Useful for implementingMessage.Builder.setField(Descriptors.FieldDescriptor, Object)
.void
setRepeatedField
(T descriptor, int index, Object value) Useful for implementingMessage.Builder.setRepeatedField(Descriptors.FieldDescriptor, int, Object)
.private void
verifyType
(T descriptor, Object value) Verifies that the given object is of the correct type to be a valid value for the given field.
-
Field Details
-
fields
-
hasLazyField
private boolean hasLazyField -
isMutable
private boolean isMutable -
hasNestedBuilders
private boolean hasNestedBuilders
-
-
Constructor Details
-
Builder
private Builder() -
Builder
-
-
Method Details
-
build
Creates the FieldSet- Throws:
UninitializedMessageException
- if a message field is missing required fields.
-
buildPartial
Creates the FieldSet but does not validate that all required fields are present. -
buildImpl
Creates the FieldSet.- Parameters:
partial
- controls whether to do a build() or buildPartial() when converting submessage builders to messages.
-
replaceBuilders
private static <T extends FieldSet.FieldDescriptorLite<T>> void replaceBuilders(SmallSortedMap<T, Object> fieldMap, boolean partial) -
replaceBuilders
private static <T extends FieldSet.FieldDescriptorLite<T>> void replaceBuilders(Map.Entry<T, Object> entry, boolean partial) -
replaceBuilders
private static <T extends FieldSet.FieldDescriptorLite<T>> Object replaceBuilders(T descriptor, Object value, boolean partial) -
replaceBuilder
-
fromFieldSet
public static <T extends FieldSet.FieldDescriptorLite<T>> FieldSet.Builder<T> fromFieldSet(FieldSet<T> fieldSet) Returns a new Builder using the fields fromfieldSet
. -
getAllFields
Get a simple map containing all the fields. -
hasField
Useful for implementingMessageOrBuilder.hasField(Descriptors.FieldDescriptor)
. -
getField
Useful for implementingMessageOrBuilder.getField(Descriptors.FieldDescriptor)
. This method returnsnull
if the field is not set; in this case it is up to the caller to fetch the field's default value. -
getFieldAllowBuilders
Same asgetField(F)
, but allow aMessageLite.Builder
to be returned. -
ensureIsMutable
private void ensureIsMutable() -
setField
Useful for implementingMessage.Builder.setField(Descriptors.FieldDescriptor, Object)
. -
clearField
Useful for implementingMessage.Builder.clearField(Descriptors.FieldDescriptor)
. -
getRepeatedFieldCount
Useful for implementingMessageOrBuilder.getRepeatedFieldCount(Descriptors.FieldDescriptor)
. -
getRepeatedField
Useful for implementingMessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor, int)
. -
getRepeatedFieldAllowBuilders
Same asgetRepeatedField(F, int)
, but allow aMessageLite.Builder
to be returned. -
setRepeatedField
Useful for implementingMessage.Builder.setRepeatedField(Descriptors.FieldDescriptor, int, Object)
. -
addRepeatedField
Useful for implementingMessage.Builder.addRepeatedField(Descriptors.FieldDescriptor, Object)
. -
verifyType
Verifies that the given object is of the correct type to be a valid value for the given field. (For repeated fields, this checks if the object is the right type to be one element of the field.)- Throws:
IllegalArgumentException
- The value is not of the right type.
-
isInitialized
public boolean isInitialized()SeeMessageLiteOrBuilder.isInitialized()
. Note: SinceFieldSet
itself does not have any way of knowing about required fields that aren't actually present in the set, it is up to the caller to check that all required fields are present. -
mergeFrom
LikeMessage.Builder.mergeFrom(Message)
, but merges from anotherFieldSet
. -
mergeFromField
-