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>>
static final class FieldSet.Builder<T extends FieldSet.FieldDescriptorLite<T>> extends java.lang.ObjectA FieldSet Builder that accept aMessageLite.Builderas a field value. This is useful for implementing methods inMessageLite.Builder.
-
-
Field Summary
Fields Modifier and Type Field Description private SmallSortedMap<T,java.lang.Object>fieldsprivate booleanhasLazyFieldprivate booleanhasNestedBuildersprivate booleanisMutable
-
Constructor Summary
Constructors Modifier Constructor Description privateBuilder()privateBuilder(SmallSortedMap<T,java.lang.Object> fields)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRepeatedField(T descriptor, java.lang.Object value)Useful for implementingMessage.Builder.addRepeatedField(Descriptors.FieldDescriptor, Object).FieldSet<T>build()Creates the FieldSetprivate FieldSet<T>buildImpl(boolean partial)Creates the FieldSet.FieldSet<T>buildPartial()Creates the FieldSet but does not validate that all required fields are present.voidclearField(T descriptor)Useful for implementingMessage.Builder.clearField(Descriptors.FieldDescriptor).private voidensureIsMutable()static <T extends FieldSet.FieldDescriptorLite<T>>
FieldSet.Builder<T>fromFieldSet(FieldSet<T> fieldSet)Returns a new Builder using the fields fromfieldSet.java.util.Map<T,java.lang.Object>getAllFields()Get a simple map containing all the fields.java.lang.ObjectgetField(T descriptor)Useful for implementingMessageOrBuilder.getField(Descriptors.FieldDescriptor).(package private) java.lang.ObjectgetFieldAllowBuilders(T descriptor)Same as#getField(F), but allow aMessageLite.Builderto be returned.java.lang.ObjectgetRepeatedField(T descriptor, int index)Useful for implementingMessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor, int).(package private) java.lang.ObjectgetRepeatedFieldAllowBuilders(T descriptor, int index)Same as#getRepeatedField(F, int), but allow aMessageLite.Builderto be returned.intgetRepeatedFieldCount(T descriptor)Useful for implementingMessageOrBuilder.getRepeatedFieldCount(Descriptors.FieldDescriptor).booleanhasField(T descriptor)Useful for implementingMessageOrBuilder.hasField(Descriptors.FieldDescriptor).booleanisInitialized()voidmergeFrom(FieldSet<T> other)LikeMessage.Builder.mergeFrom(Message), but merges from anotherFieldSet.private voidmergeFromField(java.util.Map.Entry<T,java.lang.Object> entry)private static java.lang.ObjectreplaceBuilder(java.lang.Object value, boolean partial)private static <T extends FieldSet.FieldDescriptorLite<T>>
voidreplaceBuilders(SmallSortedMap<T,java.lang.Object> fieldMap, boolean partial)private static <T extends FieldSet.FieldDescriptorLite<T>>
voidreplaceBuilders(java.util.Map.Entry<T,java.lang.Object> entry, boolean partial)private static <T extends FieldSet.FieldDescriptorLite<T>>
java.lang.ObjectreplaceBuilders(T descriptor, java.lang.Object value, boolean partial)voidsetField(T descriptor, java.lang.Object value)Useful for implementingMessage.Builder.setField(Descriptors.FieldDescriptor, Object).voidsetRepeatedField(T descriptor, int index, java.lang.Object value)Useful for implementingMessage.Builder.setRepeatedField(Descriptors.FieldDescriptor, int, Object).private voidverifyType(T descriptor, java.lang.Object value)Verifies that the given object is of the correct type to be a valid value for the given field.
-
-
-
Field Detail
-
fields
private SmallSortedMap<T extends FieldSet.FieldDescriptorLite<T>,java.lang.Object> fields
-
hasLazyField
private boolean hasLazyField
-
isMutable
private boolean isMutable
-
hasNestedBuilders
private boolean hasNestedBuilders
-
-
Constructor Detail
-
Builder
private Builder()
-
Builder
private Builder(SmallSortedMap<T,java.lang.Object> fields)
-
-
Method Detail
-
build
public FieldSet<T> build()
Creates the FieldSet- Throws:
UninitializedMessageException- if a message field is missing required fields.
-
buildPartial
public FieldSet<T> buildPartial()
Creates the FieldSet but does not validate that all required fields are present.
-
buildImpl
private FieldSet<T> buildImpl(boolean partial)
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,java.lang.Object> fieldMap, boolean partial)
-
replaceBuilders
private static <T extends FieldSet.FieldDescriptorLite<T>> void replaceBuilders(java.util.Map.Entry<T,java.lang.Object> entry, boolean partial)
-
replaceBuilders
private static <T extends FieldSet.FieldDescriptorLite<T>> java.lang.Object replaceBuilders(T descriptor, java.lang.Object value, boolean partial)
-
replaceBuilder
private static java.lang.Object replaceBuilder(java.lang.Object value, boolean partial)
-
fromFieldSet
public static <T extends FieldSet.FieldDescriptorLite<T>> FieldSet.Builder<T> fromFieldSet(FieldSet<T> fieldSet)
Returns a new Builder using the fields fromfieldSet.
-
getAllFields
public java.util.Map<T,java.lang.Object> getAllFields()
Get a simple map containing all the fields.
-
hasField
public boolean hasField(T descriptor)
Useful for implementingMessageOrBuilder.hasField(Descriptors.FieldDescriptor).
-
getField
public java.lang.Object getField(T descriptor)
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
java.lang.Object getFieldAllowBuilders(T descriptor)
Same as#getField(F), but allow aMessageLite.Builderto be returned.
-
ensureIsMutable
private void ensureIsMutable()
-
setField
public void setField(T descriptor, java.lang.Object value)
Useful for implementingMessage.Builder.setField(Descriptors.FieldDescriptor, Object).
-
clearField
public void clearField(T descriptor)
Useful for implementingMessage.Builder.clearField(Descriptors.FieldDescriptor).
-
getRepeatedFieldCount
public int getRepeatedFieldCount(T descriptor)
Useful for implementingMessageOrBuilder.getRepeatedFieldCount(Descriptors.FieldDescriptor).
-
getRepeatedField
public java.lang.Object getRepeatedField(T descriptor, int index)
Useful for implementingMessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor, int).
-
getRepeatedFieldAllowBuilders
java.lang.Object getRepeatedFieldAllowBuilders(T descriptor, int index)
Same as#getRepeatedField(F, int), but allow aMessageLite.Builderto be returned.
-
setRepeatedField
public void setRepeatedField(T descriptor, int index, java.lang.Object value)
Useful for implementingMessage.Builder.setRepeatedField(Descriptors.FieldDescriptor, int, Object).
-
addRepeatedField
public void addRepeatedField(T descriptor, java.lang.Object value)
Useful for implementingMessage.Builder.addRepeatedField(Descriptors.FieldDescriptor, Object).
-
verifyType
private void verifyType(T descriptor, java.lang.Object value)
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:
java.lang.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
public void mergeFrom(FieldSet<T> other)
LikeMessage.Builder.mergeFrom(Message), but merges from anotherFieldSet.
-
mergeFromField
private void mergeFromField(java.util.Map.Entry<T,java.lang.Object> entry)
-
-