package org.jactr.modules.pm.motor.event; /* * default logging */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.event.AbstractACTREvent; import org.jactr.modules.pm.motor.IMotorModule; import org.jactr.modules.pm.motor.command.IMovement; public class MotorModuleEvent extends AbstractACTREvent<IMotorModule, IMotorModuleListener> { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(MotorModuleEvent.class); static public enum Type { PREPARED, STARTED, COMPLETED, ABORTED, RESET, REJECTED }; private IMovement _movement; private Type _type; public MotorModuleEvent(IMotorModule source, IMovement movement, Type type) { super(source); _type = type; _movement = movement; } public Type getType() { return _type; } public IMovement getMovement() { return _movement; } @Override public void fire(final IMotorModuleListener listener) { switch (this.getType()) { case PREPARED: listener.movementPrepared(this); break; case STARTED: listener.movementStarted(this); break; case ABORTED: listener.movementAborted(this); break; case COMPLETED: listener.movementCompleted(this); break; case REJECTED: listener.movementRejected(this); break; } } }