我想使用 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
not case object
。
另外,我不知道如何使字段可选并具有默认值。