package kernel; import rescuecore2.Timestep; /** Interface for objects that are interested in kernel events. */ public interface KernelListener { /** Notification that the kernel has started the simulation. @param kernel The kernel. */ void simulationStarted(Kernel kernel); /** Notification that the kernel has ended the simulation and shut down. @param kernel The kernel. */ void simulationEnded(Kernel kernel); /** Notification that a timestep has been completed. @param kernel The kernel. @param time The timestep that has just been completed. */ void timestepCompleted(Kernel kernel, Timestep time); /** Notification that an agent has been added. @param kernel The kernel. @param agent The agent that was added. */ void agentAdded(Kernel kernel, AgentProxy agent); /** Notification that an agent has been removed. @param kernel The kernel. @param agent The agent that was removed. */ void agentRemoved(Kernel kernel, AgentProxy agent); /** Notification that a simulator has been added. @param kernel The kernel. @param simulator The simulator that was added. */ void simulatorAdded(Kernel kernel, SimulatorProxy simulator); /** Notification that a simulator has been removed. @param kernel The kernel. @param simulator The simulator that was removed. */ void simulatorRemoved(Kernel kernel, SimulatorProxy simulator); /** Notification that a viewer has been added. @param kernel The kernel. @param viewer The viewer that was added. */ void viewerAdded(Kernel kernel, ViewerProxy viewer); /** Notification that a viewer has been removed. @param kernel The kernel. @param viewer The viewer that was removed. */ void viewerRemoved(Kernel kernel, ViewerProxy viewer); }