/* * Copyright (c) 2006 jDiameter. * https://jdiameter.dev.java.net/ * * License: Lesser General Public License (LGPL) * * e-mail: erick.svenson@yahoo.com * */ package org.jdiameter.api.app; /** * The Event class holds information about the different events that can be handled * by the state machine. Events are prioritized depending on the importance of the event. * The priority model tries to ensure that old messages are handled before any new ones. * @version 1.5.1 Final */ public interface StateEvent extends Comparable { /** * This method should be adapted by any subclass * to return the type corresponding to the actual event. * @return type of this StateEvent */ public <E> E encodeType(Class<E> enumType); /** * Return type of this StateEvent * @return type of this StateEvent */ public Enum getType(); /** * Returns a negative value if the priority for this object * is higher than the priority for the supplied object. * @param obj the Event to compare to. * @return compare result */ /** * Set information object to this StateEvent * @param data information object */ public void setData(Object data); /** * Return information object of this StateEvent * @return information object of this StateEvent */ public Object getData(); }