// @topic S-0303-03-02-05 Java MVC Architecture Demo 3
// @brief class Elevator (business object for Data Tier)

package radio_button_test;

public class Elevator {
    //------------------------------
    // constants
    //------------------------------
    public static final int DIRECTION_STATIONARY = 0;
    public static final int DIRECTION_UP = +1;
    public static final int DIRECTION_DOWN = -1;
    
    //------------------------------
    // data
    //------------------------------
    private int currentFloor;
    private int direction; // +1-up, -1=down, 0=stationary

    //------------------------------
    // constructors
    //------------------------------
    public Elevator( int floor )
    {
        currentFloor = floor;
        direction = DIRECTION_STATIONARY;
    }//Elevator
    
    //------------------------------
    // operations
    //------------------------------
    public void move()
    {
        // <begin> for debugging purposes only:
        if ( direction == DIRECTION_STATIONARY ) direction = DIRECTION_UP;
        ElevatorBank bank = ElevatorBank.bankInstance;
        if ( currentFloor == bank.getMaxFloor() ) direction = DIRECTION_DOWN;
        if ( currentFloor == 1 ) direction = DIRECTION_UP;
        // <end>
        
        currentFloor += direction;
    }//move

    public int getCurrentFloor() {
        return currentFloor;
    }//getCurrentFloor
    
    public int getDirection() {
        return direction;
    }//getDirection

    public void setDirection(int direction) {
        this.direction = direction;
    }//setDirection
    
}//class Elevator