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

2023-12-31

我对 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 声明添加任意注释。看文档 https://developers.google.com/protocol-buffers/docs/proto#options(向下滚动一点到“自定义选项”)。

import "google/protobuf/descriptor.proto";

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

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

注释是通过以下方式访问的EnumValueDescriptor界面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在protobuf中定义枚举的值和id? (原始java客户端) 的相关文章

随机推荐

  • 非常简单的 jQuery .load 示例不起作用

    我认为这是一个非常简单的问题 但我似乎无法让它发挥作用 我需要使用 JavaScript 显然是 jQuery 从一个页面获取一些内容 并将其拉入另一个页面 我对此进行了相当多的研究 但似乎连一个非常简单的例子都无法工作 这是我试图从中获取
  • RESTful WCF 服务在发送“原始”XML 时返回 400 代码

    我已经为此苦苦挣扎了两天 所以希望有人能帮我 我拥有的是一个使用 WCF 编写的 RESTful Web 服务 实际上只是两个接受单个字符串参数并返回一个字符串的方法 参数和返回值都是直接的 XML ServiceContract publ
  • 使用 sortItems() 对 QListWidget 进行排序

    我在 QListWidget 上使用 sortItems 时遇到问题 发生的情况如下 改变这个 A z d C 乙 哦 我 to this A C 我 d e 哦 z 但我希望它是 A C d e 我 哦 z 有什么办法可以改变让它变得像这
  • 无法从 Team Foundation Server 2010 取消解决方案的绑定

    我有一些与 TFS 2010 绑定的解决方案 但是团队项目集合不再可用 我需要将此解决方案重新绑定到该服务器上的新团队项目集合 我尝试更改源代码管理 文件 gt 源代码管理 gt 更改源代码管理 按 更改源代码控制 后 出现 您想将解决方案
  • 是否可以修复 geom_text() 生成的锯齿状、质量差的文本?

    在向图中添加注释文本时 我注意到geom text 产生难看的 锯齿状的文本 同时annotate 生成流畅 美观的文本 有谁知道为什么会发生这种情况以及是否有任何方法可以解决它 我知道我可以使用annotate 在这里 但可能存在这样的情
  • 如何在初始化类方法之前加载 Kivy ID(Python with Kivy)

    目标 成功初始化一个类方法 create button 就我而言 在其参数中引用 kv id init 同一个类的方法 我收到以下错误 File C Users phili scrollablelabelexample py line 33
  • jquery 中的多个 attr 选择器?

    我怎样才能在 jquery 中做到这一点 SomeId input type hidden AND name somename SomeId input type hidden name somename
  • 在嵌入式 C 中使用 malloc() [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在嵌入式C编程语言中 是malloc 在单任务嵌入式系统中有用吗 我在嵌入式系统领域工作了 0 5 年 我从来没有用过malloc 在8位控制器
  • 如何使用 python 关闭程序?

    python 有没有办法关闭 Windows 应用程序 例如 Firefox 我知道如何启动应用程序 但现在我需要知道如何关闭应用程序 I have used subprocess comands for a while this prog
  • Matlab上3D数据的椭球拟合

    我正在研究一个3D体积 of CT肺部图像 为了检测结节 我需要为每个可疑结节拟合一个椭球模型 我该如何为此编写代码 结节是疑似肿瘤的物体 我的算法需要检查每个物体 并将其近似为椭球体 并根据椭球体参数计算8个特征来构建分类器 通过训练和测
  • Rails:切换用户 Gem 以及切换回原始用户的问题

    在我的应用程序中我正在使用switch user https github com flyerhzm switch user https github com flyerhzm switch user gem 允许管理员以另一个用户身份登录
  • BASH:基本 if then 和变量赋值

    我习惯了 csh 所以不得不使用 bash 有点令人恼火 这段代码有什么问题 if time gt 0300 time lt 0900 then mod 2 else mod 0 fi 按照标准应该是 if time gt 300 time
  • 有没有办法了解导致“_NSTouchBarFinderObservation”崩溃的原因?

    我的 Crashlytics 显示多个用户遇到以下崩溃 见下文 我能够重新创建这个的唯一方法 我怀疑用户正在这样做 是打开 Xcode Touch Bar 模拟器并在generations当应用程序运行时 以下设备和操作系统已报告崩溃 ma
  • 一个测试用例应该涵盖多少内容?

    到目前为止 我从未编写过正确的测试 只编写了测试成功后我会处理的小程序 我正在浏览Python的unittest网络上的模块和教程 但我不清楚 一个应该多少钱TestCase覆盖 我在网上看到过一些例子TestCase仅具有一种方法的类 以
  • 从 Postgres 和 jOOQ 中的分层表递归生成 JSON 树

    我在 Postgres 数据库中有一个分层表 例如category 结构很简单 如下所示 id parent id name 1 null A 2 null B 3 1 A1 4 3 A1a 5 3 A1b 6 2 B1 7 2 B2 我需
  • 当我需要其他内容时,BASH 脚本正在等待

    我的 bash 脚本需要一些帮助 bin bash zenity list title Select Server text Select the server to start radiolist column column Server
  • 如何收集实时推文? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何使用 Ruby 收集实时推文并将
  • Wicket 1.5(.2) 中的 url 更改时组件未重新加载?

    我第一次使用以下 URL 导航到我的应用程序 主页 0 用户 x 在调试模式下 我看到 wicket 很好地实例化了我的面板等 显然 如果我将 URL 更改为 主页 0 用户 y 那么什么也没有发生 面板不会重新初始化 对于新用户 gt 用
  • React 组件声明中“导出”的目的是什么?

    在 React ES6 中 为什么我有时看到这个吗 class Hello extends React Component 有时this export class Hello extends React Component 有何意义expo
  • 如何在protobuf中定义枚举的值和id? (原始java客户端)

    我对 protobuf 的使用很陌生 我计划编写带有枚举的 protobuf def 有什么方法可以在其中提供 id 值和描述 编译后我希望生成的枚举应该与下面的示例等效 enum Sample W 0 W P 0 P C 0 C B 0