builder.addRepeatedField(field, value); } else { builder.setField(field, value);
private void mergeRepeatedField( FieldDescriptor field, JsonElement json, Message.Builder builder) throws InvalidProtocolBufferException { if (!(json instanceof JsonArray)) { throw new InvalidProtocolBufferException("Expect an array but found: " + json); } JsonArray array = (JsonArray) json; for (int i = 0; i < array.size(); ++i) { Object value = parseFieldValue(field, array.get(i), builder); if (value == null) { throw new InvalidProtocolBufferException( "Repeated field elements cannot be null in field: " + field.getFullName()); } builder.addRepeatedField(field, value); } }
private void mergeRepeatedField( FieldDescriptor field, JsonElement json, Message.Builder builder) throws InvalidProtocolBufferException { if (!(json instanceof JsonArray)) { throw new InvalidProtocolBufferException("Expect an array but found: " + json); } JsonArray array = (JsonArray) json; for (int i = 0; i < array.size(); ++i) { Object value = parseFieldValue(field, array.get(i), builder); if (value == null) { throw new InvalidProtocolBufferException( "Repeated field elements cannot be null in field: " + field.getFullName()); } builder.addRepeatedField(field, value); } }
private void handleValue(Tokenizer tokenizer, ExtensionRegistry extensionRegistry, Message.Builder builder, FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, boolean unknown) throws ParseException { Object value = null; if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) { value = handleObject(tokenizer, extensionRegistry, builder, field, extension, unknown); } else { value = handlePrimitive(tokenizer, field); } if (value != null) { if (field.isRepeated()) { builder.addRepeatedField(field, value); } else { builder.setField(field, value); } } }
private static void handleValue(Tokenizer tokenizer, ExtensionRegistry extensionRegistry, Message.Builder builder, FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, boolean unknown) throws ParseException { Object value = null; if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) { value = handleObject(tokenizer, extensionRegistry, builder, field, extension, unknown); } else { value = handlePrimitive(tokenizer, field); } if (value != null) { if (field.isRepeated()) { builder.addRepeatedField(field, value); } else { builder.setField(field, value); } } }
private void mergeRepeatedField( FieldDescriptor field, JsonElement json, Message.Builder builder) throws InvalidProtocolBufferException { if (!(json instanceof JsonArray)) { throw new InvalidProtocolBufferException("Expect an array but found: " + json); } JsonArray array = (JsonArray) json; for (int i = 0; i < array.size(); ++i) { Object value = parseFieldValue(field, array.get(i), builder); if (value == null) { throw new InvalidProtocolBufferException( "Repeated field elements cannot be null in field: " + field.getFullName()); } builder.addRepeatedField(field, value); } }
private void mergeRepeatedField( FieldDescriptor field, JsonElement json, Message.Builder builder) throws InvalidProtocolBufferException { if (!(json instanceof JsonArray)) { throw new InvalidProtocolBufferException("Expect an array but found: " + json); } JsonArray array = (JsonArray) json; for (int i = 0; i < array.size(); ++i) { Object value = parseFieldValue(field, array.get(i), builder); if (value == null) { throw new InvalidProtocolBufferException( "Repeated field elements cannot be null in field: " + field.getFullName()); } builder.addRepeatedField(field, value); } }
private void setOption(Message.Builder builder, Option option, String expectedPrefix) { if (!option.getName().startsWith(expectedPrefix)) { return; } Descriptor descriptor = builder.getDescriptorForType(); String optionName = option.getName().substring(expectedPrefix.length()); FieldDescriptor optionField = descriptor.findFieldByName(optionName); if (optionField != null) { if (optionField.isRepeated()) { builder.addRepeatedField(optionField, fieldValueFrom(option.getValue(), optionField)); } else { builder.setField(optionField, fieldValueFrom(option.getValue(), optionField)); } } }
/** * Constructs a sub-builder for an added element of the repeated message field, and calls action * on it. */ public Builder withAddedBuilder(FieldDescriptor field, BuildAction action) { Message.Builder repeatedFieldBuilder = configBuilder.newBuilderForField(field); Builder elementBuilder = new Builder(repeatedFieldBuilder.build(), repeatedFieldBuilder, locations); action.accept(elementBuilder); // Call build so locations map is updated. ConfigSource configSource = elementBuilder.build(); // Update the list with the built element configBuilder.addRepeatedField(field, configSource.configMessage); return this; }
private void setOption(Message.Builder builder, Option option, String expectedPrefix) { if (!option.getName().startsWith(expectedPrefix)) { return; } Descriptor descriptor = builder.getDescriptorForType(); String optionName = option.getName().substring(expectedPrefix.length()); FieldDescriptor optionField = descriptor.findFieldByName(optionName); if (optionField != null) { if (optionField.isRepeated()) { builder.addRepeatedField(optionField, fieldValueFrom(option.getValue(), optionField)); } else { builder.setField(optionField, fieldValueFrom(option.getValue(), optionField)); } } }
/** * Constructs a sub-builder for an added element of the repeated message field, and calls action * on it. */ public Builder withAddedBuilder(FieldDescriptor field, BuildAction action) { Message.Builder repeatedFieldBuilder = configBuilder.newBuilderForField(field); Builder elementBuilder = new Builder(repeatedFieldBuilder.build(), repeatedFieldBuilder, locations); action.accept(elementBuilder); // Call build so locations map is updated. ConfigSource configSource = elementBuilder.build(); // Update the list with the built element configBuilder.addRepeatedField(field, configSource.configMessage); return this; }
/** Adds the scalar value to the field which must be repeated. */ public Builder addValue(FieldDescriptor field, Object value, @Nullable Location location) { int index = configBuilder.getRepeatedFieldCount(field); configBuilder.addRepeatedField(field, value); newLocations.put(new LocationKey(field, index), nonNull(location)); return this; }
public static Message.Builder setField(final Message.Builder builder, final String fieldName, final Object value) { final FieldDescriptor field = getFieldDescriptor(builder.getDescriptorForType(), fieldName); if (field.isRepeated()) { return builder.addRepeatedField(field, value); } else { return builder.setField(field, value); } }
@Override public MergeTarget addRepeatedField(Descriptors.FieldDescriptor field, Object value) { builder.addRepeatedField(field, value); return this; }
public MergeTarget addRepeatedField( Descriptors.FieldDescriptor field, Object value) { builder.addRepeatedField(field, value); return this; }
/** Adds the scalar value to the field which must be repeated. */ public Builder addValue(FieldDescriptor field, Object value, @Nullable Location location) { int index = configBuilder.getRepeatedFieldCount(field); configBuilder.addRepeatedField(field, value); newLocations.put(new LocationKey(field, index), nonNull(location)); return this; }
@Override public void add(Object value) { parentBuilder.addRepeatedField(fieldDescriptor, value); } };
private static void handleValue(Tokenizer tokenizer, ExtensionRegistry extensionRegistry, Message.Builder builder, FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, boolean unknown) throws ParseException { Object value = null; if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) { value = handleObject(tokenizer, extensionRegistry, builder, field, extension, unknown); } else { value = handlePrimitive(tokenizer, field); } if (value != null) { if (field.isRepeated()) { builder.addRepeatedField(field, value); } else { builder.setField(field, value); } } }
@Override public MergeTarget addRepeatedField(Descriptors.FieldDescriptor field, Object value) { builder.addRepeatedField(field, value); return this; }
/** helper method to handle {@code builder} and {@code extensions}. */ private static void addRepeatedField( Message.Builder builder, FieldSet<FieldDescriptor> extensions, FieldDescriptor field, Object value) { if (builder != null) { builder.addRepeatedField(field, value); } else { extensions.addRepeatedField(field, value); } }