/** * Adds message types and all types defined in the same .proto file as * well as all transitively imported .proto files to this {@link Builder}. */ public Builder add(Iterable<Descriptor> messageTypes) { if (types == null) { throw new IllegalStateException("A TypeRegistry.Builder can only be used once."); } for (Descriptor type : messageTypes) { addFile(type.getFile()); } return this; }
private void addMessage(Descriptor message) { for (Descriptor nestedType : message.getNestedTypes()) { addMessage(nestedType); } if (types.containsKey(message.getFullName())) { logger.warning("Type " + message.getFullName() + " is added multiple times."); return; } types.put(message.getFullName(), message); }
TypeRegistry registry = addPlatformExtensions(TypeRegistry.newBuilder()) .add(Service.getDescriptor()) .add(com.google.protobuf.BoolValue.getDescriptor()) .add(com.google.protobuf.BytesValue.getDescriptor()) .add(com.google.protobuf.DoubleValue.getDescriptor()) .add(com.google.protobuf.FloatValue.getDescriptor()) .add(com.google.protobuf.Int32Value.getDescriptor()) .add(com.google.protobuf.Int64Value.getDescriptor()) .add(com.google.protobuf.StringValue.getDescriptor()) .add(com.google.protobuf.UInt32Value.getDescriptor()) .add(com.google.protobuf.UInt64Value.getDescriptor()) .build(); JsonFormat.Printer jsonPrinter = JsonFormat.printer().usingTypeRegistry(registry); try (PrintWriter jsonPrintWriter =
TypeRegistry registry = addPlatformExtensions(TypeRegistry.newBuilder()) .add(Service.getDescriptor()) .add(com.google.protobuf.BoolValue.getDescriptor()) .add(com.google.protobuf.BytesValue.getDescriptor()) .add(com.google.protobuf.DoubleValue.getDescriptor()) .add(com.google.protobuf.FloatValue.getDescriptor()) .add(com.google.protobuf.Int32Value.getDescriptor()) .add(com.google.protobuf.Int64Value.getDescriptor()) .add(com.google.protobuf.StringValue.getDescriptor()) .add(com.google.protobuf.UInt32Value.getDescriptor()) .add(com.google.protobuf.UInt64Value.getDescriptor()) .build(); JsonFormat.Printer jsonPrinter = JsonFormat.printer().usingTypeRegistry(registry); try (PrintWriter jsonPrintWriter =
public static Builder newBuilder() { return new Builder(); }
private TypeRegistry.Builder addPlatformExtensions(TypeRegistry.Builder registryBuilder) { ExtensionRegistry extensions = ToolProtoUtil.getStandardPlatformExtensions(); for (String extendedType : EXTENDED_ELEMENTS) { for (ExtensionRegistry.ExtensionInfo info : extensions.getAllImmutableExtensionsByExtendedType(extendedType)) { if (null != info.defaultInstance) { registryBuilder.add(info.defaultInstance.getDescriptorForType()); } } } return registryBuilder; }
/** * Adds a message type and all types defined in the same .proto file as * well as all transitively imported .proto files to this {@link Builder}. */ public Builder add(Descriptor messageType) { if (types == null) { throw new IllegalStateException("A TypeRegistry.Builer can only be used once."); } addFile(messageType.getFile()); return this; }
private TypeRegistry.Builder addPlatformExtensions(TypeRegistry.Builder registryBuilder) { ExtensionRegistry extensions = ToolProtoUtil.getStandardPlatformExtensions(); for (String extendedType : EXTENDED_ELEMENTS) { for (ExtensionRegistry.ExtensionInfo info : extensions.getAllImmutableExtensionsByExtendedType(extendedType)) { if (null != info.defaultInstance) { registryBuilder.add(info.defaultInstance.getDescriptorForType()); } } } return registryBuilder; }
private void addFile(FileDescriptor file) { // Skip the file if it's already added. if (!files.add(file.getFullName())) { return; } for (FileDescriptor dependency : file.getDependencies()) { addFile(dependency); } for (Descriptor message : file.getMessageTypes()) { addMessage(message); } }