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

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