com.github.rahulsom.grooves.api.snapshots.JavaSnapshot Maven / Gradle / Ivy
package com.github.rahulsom.grooves.api.snapshots;
import com.github.rahulsom.grooves.api.AggregateType;
import com.github.rahulsom.grooves.api.events.BaseEvent;
import org.jetbrains.annotations.NotNull;
/**
* Interface for snapshots in Java.
*
* @author rahul somasunderam
*/
public interface JavaSnapshot<
AggregateIdT,
AggregateT extends AggregateType,
SnapshotIdT,
EventIdT,
EventT extends BaseEvent
>
extends Snapshot {
@Override
default void setLastEvent(@NotNull EventT event) {
this.setLastEventTimestamp(event.getTimestamp());
this.setLastEventPosition(event.getPosition());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy