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

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

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

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

import java.util.Date;

/**
 * Base class for Events.
 *
 * @param  Aggregate this event applies to
 * @param    The Type for Event's {@link #getId} field
 * @param      Event Type
 *
 * @author Rahul Somasunderam
 */
public interface BaseEvent {
    Observable getAggregateObservable();

    void setAggregate(AggregateT aggregate);

    String getAudit();

    Date getTimestamp();

    void setTimestamp(Date timestamp);

    String getCreatedBy();

    void setCreatedBy(String creator);

    RevertEvent getRevertedBy();

    void setRevertedBy(RevertEvent revertEvent);

    EventIdT getId();

    Long getPosition();

    void setPosition(Long position);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy