package communication.messages;

import common.Direction;

/**
 * Message from the scheduler to the floor subsystem telling
 * `floorNumber` floor to turn one of its direction lamps off
 */
public class FloorArrivalMessage implements Message {

	private static final long serialVersionUID = -3849814064800323177L;

	private final int floorNumber;
	private final Direction directionButton;
	private final int elevatorId;

	public FloorArrivalMessage(int floorNumber, Direction button, int elevatorId) {
		this.floorNumber = floorNumber;
		this.directionButton = button;
		this.elevatorId = elevatorId;
	}

	public int getFloorNumber() {
		return floorNumber;
	}

	public Direction getDirectionButton() {
		return directionButton;
	}

	public int getElevatorId() {
		return elevatorId;
	}

	@Override
	public String toString() {
		return "FloorArrivalMessage [floorNumber=" + floorNumber + ", direction=" + directionButton + ", elevatorId="
				+ elevatorId + "]";
	}
}
