// @topic S-0303-03-05-20 Java Abstract Factory Example // @brief Class ElevatorBank uses IElevatorFactory package bcc.week10_abstract_factory; import java.util.ArrayList; public class ElevatorBank { //-------------------------- // data attributes //-------------------------- private IElevatorFactory elevatorFactory = null; private ArrayList< IElevator > elevators = new ArrayList<>(); //-------------------------- // constructors //-------------------------- public ElevatorBank( IElevatorFactory elevatorFactory ) { this.elevatorFactory = elevatorFactory; }//ElevatorBank //-------------------------- // operations //-------------------------- public void setElevatorFactory(IElevatorFactory elevatorFactory) { this.elevatorFactory = elevatorFactory; }//setElevatorFactory public void createElevators( char fromID, char toID ) { for ( char id = fromID; id <= toID; ++id ) { elevators.add( elevatorFactory.createElevator( id ) ); } }//createElevators }//class ElevatorBank