package com.sloshydog.eventuate.api;

import org.joda.time.DateTime;

import java.io.Serializable;

/**
 * Represents and event that has occurred. The Payload contains any pertinent information that relates to the event that
 * has occurred. The event should contain any relevant information that other components may require in order to react
 * to this event.
 *
 * @param <T> The type of the payload contained in the Event
 * @since 1.0
 */
public interface Event<T> extends Serializable {

    /**
     * Returns the identifier of the Aggregate that generated this Event.
     *
     * @return the identifier of the Aggregate that generated this Event
     */
    String getAggregateIdentifier();

    /**
     * Returns the time stamp of the occurrence of this Event. This is the time that this Event was created.
     *
     * @return the time stamp for this Event
     */
    DateTime getTimeStamp();

    /**
     * Returns the type of the Aggregate that generated this Event.
     *
     * @return the type of the Aggregate that generated this Event
     */
    String getAggregateType();

    /**
     * Returns the payload of this Event. The payload is the application-specific information.
     *
     * @return the payload of this Event
     */
    T getPayload();
}

@@ -727,137 +727,118 @@
 he t
-ime stamp of the occurrence of this Event. This is the time that this Event was created.%0A     *%0A     * @return the time stamp for
+ype of the Aggregate that generated this Event.%0A     *%0A     * @return the type of the Aggregate that generated
  thi
@@ -861,29 +861,31 @@
     
-DateTime getTimeStamp
+String getAggregateType
 ();%0A
@@ -917,118 +917,137 @@
 he t
-ype of the Aggregate that generated this Event.%0A     *%0A     * @return the type of the Aggregate that generated
+ime stamp of the occurrence of this Event. This is the time that this Event was created.%0A     *%0A     * @return the time stamp for
  thi
@@ -1066,39 +1066,37 @@
  */%0A    
-String getAggregateType
+DateTime getTimeStamp
 ();%0A%0A   

Change the order of methods on the Event interface