package communication.messages;

/**
 * A message to hold a request from the inside of an elevator selecting a
 * destination
 */
public class ElevatorMoveMessage implements Message {
	private static final long serialVersionUID = 210698986737298230L;
	private final int requestFloor;
	private final int elevatorId;
	/**
	 * Flag we send as a destination floor from the ElevatorSubsystem to the ElevatorDispatchTask
	 * telling it that we did not receive an input from inside the elevator and the scheduler can
	 * continue scheduling.
	 */
	public static final int NO_FLOOR_REQUESTS = -1;

	/**
	 * Construct a message to hold a request from the inside of an elevator
	 * selecting a destination
	 *
	 * @param requestFloor
	 * @param elevatorId
	 */
	public ElevatorMoveMessage(int requestFloor, int elevatorId) {
		this.requestFloor = requestFloor;
		this.elevatorId = elevatorId;
	}

	public int getRequestFloor() {
		return requestFloor;
	}

	public int getElevatorId() {
		return elevatorId;
	}
}
