package org.marketcetera.core.notifications; import java.io.Serializable; import java.util.Date; import org.marketcetera.core.ClassVersion; /* $License$ */ /** * Represents an event that has occurred. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: INotification.java 16154 2012-07-14 16:34:05Z colin $ * @since 0.8.0 */ @ClassVersion("$Id: INotification.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$ public interface INotification extends Serializable { /** * Indicates the severity of an <code>INotification</code>. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: INotification.java 16154 2012-07-14 16:34:05Z colin $ * @since 0.8.0 */ @ClassVersion("$Id: INotification.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$ public enum Severity { LOW, MEDIUM, HIGH } /** * Gets the high-level summary of the <code>INotification</code>. * * @return a <code>String</code> value */ public String getSubject(); /** * Gets the complete text of the <code>INotification</code>. * * @return a <code>String</code> value */ public String getBody(); /** * Gets the <code>Severity</code> of the <code>INotification</code>. * * @return a <code>Severity</code> value */ public Severity getSeverity(); /** * Gets the time that the <code>INotification</code> occurred. * * @return a <code>Date</code> value */ public Date getDate(); /** * Gets a description of the originator of the <code>INotification</code>. * * @return a <code>String</code> value */ public String getOriginator(); }