com.github.rahulsom.grooves.api.snapshots.internal.BaseJoin Maven / Gradle / Ivy
package com.github.rahulsom.grooves.api.snapshots.internal;
import com.github.rahulsom.grooves.api.AggregateType;
import com.github.rahulsom.grooves.api.events.BaseEvent;
import java.util.List;
/**
* A special kind of {@link BaseSnapshot} that stores information about joined entities.
*
* @param The Aggregate this join represents
* @param The type for the join's {@link #getId()} field
* @param The type for the other aggregate that {@link AggregateT} joins to
* @param The type for the {@link EventT}'s id field
* @param The base type for events that apply to {@link AggregateT}
*
* @author Rahul Somasunderam
*/
public interface BaseJoin<
AggregateT extends AggregateType,
JoinIdT,
JoinedAggregateIdT,
EventIdT,
EventT extends BaseEvent
>
extends BaseSnapshot {
List getJoinedIds();
void setJoinedIds(List ids);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy