私はケースクラスを持っている:私は「値」パラメータではなく文字列のクラスオブジェクトすることができ、新しいユースケースを持ってまで、Scalaのトレイトを実装
case class EvaluateAddress(addressFormat: String,
screeningAddressType: String,
value: Option[String]) {
}
これは罰金働いていました。
このユースケース処理するための私の最初の実装:
case class EvaluateAddress(addressFormat: String,
screeningAddressType: String,
addressId: Option[String],
addressValue: Option[MailingAddress]) {
@JsonProperty("value")
def setAddressId(addressId: String): Unit = {
val this.`addressId` = Option(addressId)
}
def this(addressFormat: String, screeningAddressType: String, addressId: String) = {
this(addressFormat, screeningAddressType, Option(addressId), None)
}
def this(addressFormat: String, screeningAddressType: String, address: MailingAddress) = {
this(addressFormat, screeningAddressType, None, Option(address))
}
}
をしかし、私は、これは良い方法であると感じていないし、それが将来的にいくつかの問題を作成することがあります。
私は同じことを達成するためのさまざまな方法は何ですか?
編集:** addressFormat、screeningAddressType、value **の3つのパラメータを含むクラスを作成し、両方のユースケースを処理する方法はありますか?