55 lines
1.3 KiB
Java
55 lines
1.3 KiB
Java
package com.eventsourcing.es;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.ZonedDateTime;
|
|
import java.util.UUID;
|
|
|
|
@Data
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Builder
|
|
public class Event {
|
|
|
|
public Event(String eventType, String aggregateType) {
|
|
this.id = UUID.randomUUID();
|
|
this.eventType = eventType;
|
|
this.aggregateType = aggregateType;
|
|
this.timeStamp = LocalDateTime.now();
|
|
}
|
|
|
|
private UUID id;
|
|
|
|
private String aggregateId;
|
|
|
|
private String eventType;
|
|
|
|
private String aggregateType;
|
|
|
|
private long version;
|
|
|
|
private byte[] data;
|
|
|
|
private byte[] metaData;
|
|
|
|
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm")
|
|
private LocalDateTime timeStamp;
|
|
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "Event{" +
|
|
"id=" + id +
|
|
", aggregateId='" + aggregateId + '\'' +
|
|
", eventType='" + eventType + '\'' +
|
|
", aggregateType='" + aggregateType + '\'' +
|
|
", version=" + version + '\'' +
|
|
", timeStamp=" + timeStamp + '\'' +
|
|
", data=" + new String(data) + '\'' +
|
|
'}';
|
|
}
|
|
} |