【发布时间】:2020-02-02 03:56:34
【问题描述】:
我想使用 scalaPB 在 scala 中生成以下代数数据类型。
trait MyEventCmd
case class MyEvent(mytype: Int, cp: Option[Double], value: Option[String] = None, id: Option[String] = None) extends MyEventCmd
case object Flush extends MyEventCmd
我在protobuf下面定义了myevent.proto-
syntax = "proto3";
message MyEventCmd {
oneof sealed_value {
Flush lit = 1;
MyEvent event = 2;
}
}
message Flush {
}
message MyEvent {
int32 eType = 1;
double cp = 2;
string value = 3;
string id = 4;
}
我的定义的问题是Flush 生成为case class 而不是case object。
另外,我不知道如何将字段设为可选和默认值。
【问题讨论】:
标签: scala protocol-buffers scalapb