Protocol buffers 如何在protobuf中定义枚举的值和id?(proto java客户端)

Protocol buffers 如何在protobuf中定义枚举的值和id?(proto java客户端),protocol-buffers,proto,Protocol Buffers,Proto,我不熟悉protobuf的用法 我计划编写包含枚举的protobuf def 有没有办法在里面提供id、值和描述 编译后,我希望生成的枚举应该与下面的示例相同 enum Sample{ W(0, "W"), P(0, "P"), C(0, "C"), B(0, "B") private final int id; private final String value; private Status(int id, String value) { this.id= id;

我不熟悉protobuf的用法

我计划编写包含枚举的protobuf def

有没有办法在里面提供id、值和描述

编译后,我希望生成的枚举应该与下面的示例相同

enum Sample{
  W(0, "W"), P(0, "P"), C(0, "C"), B(0, "B")
  private final int id;
  private final String value;

  private Status(int id, String value) {
    this.id= id;
    this.value = value;
  }
}

非常感谢您的帮助

在您的示例中,无法准确生成Java枚举,但您可以使用“自定义选项”向protobuf声明添加任意注释。请参阅(向下滚动一点至“自定义选项”)

可通过
EnumValueDescriptor
界面访问注释

import "google/protobuf/descriptor.proto";

extend google.protobuf.EnumValueOptions {
  optional string name = 51234;
}

enum MyEnum {
  FOO = 0 [(name) = "foo"];
  BAR = 1 [(name) = "bar"];
}