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

com.github.rahulsom.grooves.api.events.JoinEvent Maven / Gradle / Ivy

package com.github.rahulsom.grooves.api.events;

import com.github.rahulsom.grooves.api.AggregateType;

/**
 * Creates a join from {@link AggregateT} to {@link JoinedAggregateT} that had not existed earlier.
 *
 * @param        The Aggregate that has been linked to the {@link JoinedAggregateT}
 * @param          The Type for Event's {@link #getId} field
 * @param            The parent event type
 * @param  The target aggregate
 *
 * @author Rahul Somasunderam
 */
public interface JoinEvent<
        AggregateT extends AggregateType,
        EventIdT,
        EventT,
        JoinedAggregateT extends AggregateType>
        extends BaseEvent {

    JoinedAggregateT getJoinAggregate();

    void setJoinAggregate(JoinedAggregateT rollupAggregate);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy