All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eventstore.j.EventDataBuilder.scala Maven / Gradle / Ivy

package eventstore
package j

class EventDataBuilder(val eventType: String) extends Builder[EventData] with ChainSet[EventDataBuilder] {
  protected var _eventId: Uuid = randomUuid
  protected var _data: Content = Content.Empty
  protected var _metadata: Content = Content.Empty

  def eventId(x: Uuid): EventDataBuilder = set {
    _eventId = x
  }

  def data(x: Content): EventDataBuilder = set {
    _data = x
  }

  def data(x: ByteString): EventDataBuilder = data(Content(x))

  def data(x: String): EventDataBuilder = data(Content(x))

  def data(xs: Array[Byte]): EventDataBuilder = data(Content(xs))

  def jsonData(x: String): EventDataBuilder = data(Content.Json(x))

  def metadata(x: Content): EventDataBuilder = set {
    _metadata = x
  }

  def metadata(x: ByteString): EventDataBuilder = metadata(Content(x))

  def metadata(x: String): EventDataBuilder = metadata(Content(x))

  def metadata(xs: Array[Byte]): EventDataBuilder = metadata(Content(xs))

  def jsonMetadata(x: String): EventDataBuilder = metadata(Content.Json(x))

  def build: EventData = EventData(
    eventType = eventType,
    eventId = _eventId,
    data = _data,
    metadata = _metadata
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy