Class RuntimeVersion


  • public final class RuntimeVersion
    extends java.lang.Object
    Provides the version of this Protobuf Java runtime, and methods for Protobuf Java gencode to validate that versions are compatible. Fields and methods in this class should be only accessed by related unit tests and Protobuf Java gencode, and should not be used elsewhere.
    • Constructor Detail

      • RuntimeVersion

        private RuntimeVersion()
    • Method Detail

      • validateProtobufGencodeVersion

        public static void validateProtobufGencodeVersion​(RuntimeVersion.RuntimeDomain domain,
                                                          int major,
                                                          int minor,
                                                          int patch,
                                                          java.lang.String suffix,
                                                          java.lang.String location)
        Validates that the gencode version is compatible with this runtime version according to https://protobuf.dev/support/cross-version-runtime-guarantee/.

        This method is currently only used by Protobuf Java **full version** gencode. Do not call it elsewhere.

        Parameters:
        domain - the domain where Protobuf Java code was generated.
        major - the major version of Protobuf Java gencode.
        minor - the minor version of Protobuf Java gencode.
        patch - the micro/patch version of Protobuf Java gencode.
        suffix - the version suffix e.g. "-rc2", "-dev", etc.
        location - the debugging location e.g. generated Java class to put in the error messages.
        Throws:
        RuntimeVersion.ProtobufRuntimeVersionException - if versions are incompatible.
      • validateProtobufGencodeVersionImpl

        private static void validateProtobufGencodeVersionImpl​(RuntimeVersion.RuntimeDomain domain,
                                                               int major,
                                                               int minor,
                                                               int patch,
                                                               java.lang.String suffix,
                                                               java.lang.String location)
        The actual implementation of version validation.
      • versionString

        private static java.lang.String versionString​(int major,
                                                      int minor,
                                                      int patch,
                                                      java.lang.String suffix)
        Gets the version string given the version segments.
      • checkDisabled

        private static boolean checkDisabled()