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 booleanprivate booleanprivate boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRepeatedField(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.voidclearField(T descriptor) Useful for implementingMessage.Builder.clearField(Descriptors.FieldDescriptor).private voidstatic <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) ObjectgetFieldAllowBuilders(T descriptor) Same asgetField(F), but allow aMessageLite.Builderto be returned.getRepeatedField(T descriptor, int index) Useful for implementingMessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor, int).(package private) ObjectgetRepeatedFieldAllowBuilders(T descriptor, int index) Same asgetRepeatedField(F, int), but allow aMessageLite.Builderto be returned.intgetRepeatedFieldCount(T descriptor) Useful for implementingMessageOrBuilder.getRepeatedFieldCount(Descriptors.FieldDescriptor).booleanUseful for implementingMessageOrBuilder.hasField(Descriptors.FieldDescriptor).booleanvoidLikeMessage.Builder.mergeFrom(Message), but merges from anotherFieldSet.private voidmergeFromField(Map.Entry<T, Object> entry) private static ObjectreplaceBuilder(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) voidUseful for implementingMessage.Builder.setField(Descriptors.FieldDescriptor, Object).voidsetRepeatedField(T descriptor, int index, Object value) Useful for implementingMessage.Builder.setRepeatedField(Descriptors.FieldDescriptor, int, Object).private voidverifyType(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 returnsnullif 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.Builderto 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.Builderto 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: SinceFieldSetitself 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
-