Interface GeneratedSchema

All Superinterfaces:
SerializationContextInitializer

public interface GeneratedSchema extends SerializationContextInitializer
An annotation-based generated proto schema file. This is just a more specific flavour of SerializationContextInitializer that also exposes the generated Protobuf schema, which consists of the file name and the file contents. Users will never implement this interface directly. Implementations are always generated by the annotation processor based on the AutoProtoSchemaBuilder annotation, identically as for SerializationContextInitializer.
Since:
4.3.4
Author:
[email protected]
  • Method Details

    • getProtoFileName

      String getProtoFileName()
      Returns the name of the proto file. The name is allowed to contain slashes so it can look like an absolute or relative path. The returned value must be the same (equals) on each invocation.
      Specified by:
      getProtoFileName in interface SerializationContextInitializer
    • getProtoFile

      String getProtoFile() throws UncheckedIOException
      Returns the contents of the proto file as a String. The returned value must be guaranteed to be the same (equals) on each invocation. Implementations can return a constant or a value stored in memory but they are generally free to also retrieve it from somewhere else, including the classpath, the disk, or even a mechanism that can potentially fail with an UncheckedIOException.
      Specified by:
      getProtoFile in interface SerializationContextInitializer
      Throws:
      UncheckedIOException - if the file contents cannot be retrieved
    • getProtoFileReader

      default Reader getProtoFileReader() throws UncheckedIOException
      Convenience method to obtain a Reader of the schema file contents. The caller is responsible for closing the Reader once done with it.
      Throws:
      UncheckedIOException - if the file contents cannot be retrieved