com.github.rahulsom.grooves.api.snapshots.JavaJoin 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 joins in Java.
*
* @author rahul somasunderam
*/
public interface JavaJoin<
AggregateIdT,
AggregateT extends AggregateType,
JoinIdT,
JoinedAggregateIdT,
EventIdT,
EventT extends BaseEvent> extends
JavaSnapshot,
Join {
@Override
default void setLastEvent(@NotNull EventT event) {
this.setLastEventTimestamp(event.getTimestamp());
this.setLastEventPosition(event.getPosition());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy