1 package cz.cuni.amis.pogamut.ut2004.communication.messages.custom; 2 3 import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent; 4 import cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEvent; 5 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ControlMessage; 6 7 /** 8 * Every implementation must be: 9 * <ol> 10 * <li>Typed declaring {@link ControlMessage#getType()} via {@link CustomMessageType}.</li> 11 * <li>Have every relevant field (that should be linked to some {@link ControlMessage} field) annotated with {@link ControlMessageField}</li> 12 * <li>Have simType field of 'long' type annotated with {@link ControlMessageSimType}</li> 13 * <li>Declare public parameter-less constructor.</li> 14 * </ol> 15 * 16 * You can use {@link BaseCustomControlMessage} as the ancestor for all {@link ICustomControlMessage} implementations. 17 * 18 * @author Jimmy 19 */ 20 public interface ICustomControlMessage extends IWorldEvent, IWorldChangeEvent { 21 22 }