interfaces
Interface ElevatorSpecification

All Superinterfaces:
ElevatorForController, ElevatorForUsers
All Known Implementing Classes:
Elevator

public interface ElevatorSpecification
extends ElevatorForController, ElevatorForUsers

The Elevator code was developed as a sample solution to a lift problem given to the MSc SAI students in module CSC7003 - Basics of Software Engineering
The elevator must offer 2 interfaces:

It also provides a means of changing the logic controller

Version:
1
Author:
J Paul Gibson

Method Summary
 void installController(ControllerForElevator controller)
          Update the lift controller component - intended to be done by an engineer
 boolean updateFloor()
          move to next floor (as decided by the controller)
 
Methods inherited from interface interfaces.ElevatorForController
currentDirection, currentFloor, downPressedAtFloor, floorPressedInElevator, noMoreRequestsAbove, noMoreRequestsBelow, topFloor, upPressedAtFloor
 
Methods inherited from interface interfaces.ElevatorForUsers
downPressedAtFloor, floorPressedInElevator, pressDown, pressFloorInElevator, pressUp, upPressedAtFloor
 

Method Detail

installController

void installController(ControllerForElevator controller)
                       throws java.lang.IllegalArgumentException
Update the lift controller component - intended to be done by an engineer

Parameters:
controller - is the new controller module that will decide the logic of the elevator movement
Throws:
java.lang.IllegalArgumentException - if the controller is null

updateFloor

boolean updateFloor()
move to next floor (as decided by the controller)

Returns:
if the lift should stop at the next floor (as decided by the controller)