Interface ProtobufTestAdapter


  • public interface ProtobufTestAdapter
    Adapter interface to abstract the differences between v3 and v4 Protobuf APIs. This allows shared test code to work with both versions. The workdir is set during adapter construction, so it's not needed in method signatures.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      List<com.google.protobuf.Descriptors.FileDescriptor> buildFileDescriptors​(com.google.protobuf.DescriptorProtos.FileDescriptorSet descriptorSet)
      Build FileDescriptors from a FileDescriptorSet.
      List<com.google.protobuf.Descriptors.FileDescriptor> buildFileDescriptors​(List<String> fileNames)
      Build FileDescriptors from proto file names.
      io.roastedroot.protobuf4j.common.CompatibilityResult checkCompatibility​(com.google.protobuf.DescriptorProtos.FileDescriptorSet oldSchema, com.google.protobuf.DescriptorProtos.FileDescriptorSet newSchema)
      Check compatibility between two schemas.
      com.google.protobuf.DescriptorProtos.FileDescriptorSet getDescriptors​(List<String> fileNames)
      Get FileDescriptorSet from proto file names.
      com.google.protobuf.DescriptorProtos.FileDescriptorSet normalizeSchema​(com.google.protobuf.DescriptorProtos.FileDescriptorSet descriptorSet)
      Normalize a schema.
      com.google.protobuf.compiler.PluginProtos.CodeGeneratorResponse runNativePlugin​(io.roastedroot.protobuf4j.common.Protobuf.NativePlugin plugin, com.google.protobuf.compiler.PluginProtos.CodeGeneratorRequest codeGeneratorRequest, Path workdir)
      Run a native protoc plugin.
      Map<String,​String> toProtoText​(com.google.protobuf.DescriptorProtos.FileDescriptorSet descriptorSet)
      Convert FileDescriptorSet to proto text format.
      String toProtoText​(com.google.protobuf.Descriptors.FileDescriptor descriptor)
      Convert a single FileDescriptor to proto text format.
      io.roastedroot.protobuf4j.common.ValidationResult validateSyntax​(String fileName)
      Validate syntax of a proto file.
    • Method Detail

      • getDescriptors

        com.google.protobuf.DescriptorProtos.FileDescriptorSet getDescriptors​(List<String> fileNames)
        Get FileDescriptorSet from proto file names.
      • buildFileDescriptors

        List<com.google.protobuf.Descriptors.FileDescriptor> buildFileDescriptors​(List<String> fileNames)
        Build FileDescriptors from proto file names.
      • buildFileDescriptors

        List<com.google.protobuf.Descriptors.FileDescriptor> buildFileDescriptors​(com.google.protobuf.DescriptorProtos.FileDescriptorSet descriptorSet)
        Build FileDescriptors from a FileDescriptorSet.
      • checkCompatibility

        io.roastedroot.protobuf4j.common.CompatibilityResult checkCompatibility​(com.google.protobuf.DescriptorProtos.FileDescriptorSet oldSchema,
                                                                                com.google.protobuf.DescriptorProtos.FileDescriptorSet newSchema)
        Check compatibility between two schemas.
      • validateSyntax

        io.roastedroot.protobuf4j.common.ValidationResult validateSyntax​(String fileName)
        Validate syntax of a proto file.
      • normalizeSchema

        com.google.protobuf.DescriptorProtos.FileDescriptorSet normalizeSchema​(com.google.protobuf.DescriptorProtos.FileDescriptorSet descriptorSet)
        Normalize a schema.
      • toProtoText

        Map<String,​String> toProtoText​(com.google.protobuf.DescriptorProtos.FileDescriptorSet descriptorSet)
        Convert FileDescriptorSet to proto text format.
      • toProtoText

        String toProtoText​(com.google.protobuf.Descriptors.FileDescriptor descriptor)
        Convert a single FileDescriptor to proto text format.
      • runNativePlugin

        com.google.protobuf.compiler.PluginProtos.CodeGeneratorResponse runNativePlugin​(io.roastedroot.protobuf4j.common.Protobuf.NativePlugin plugin,
                                                                                        com.google.protobuf.compiler.PluginProtos.CodeGeneratorRequest codeGeneratorRequest,
                                                                                        Path workdir)
        Run a native protoc plugin.