WeatherForecast / IWeatherFrontend.java
IWeatherFrontend.java
Raw
// This interface defines methods to be implemented for the frontend of the weather application

import java.util.List;

/**
 * @author Ethan Nachreiner
 */
public interface IWeatherFrontend {
    // The constructor will look like this and take in a Scanner for user input and the backend.
    // WeatherFrontend(Scanner userInputScanner, IWeatherBackend backend)

    // This method starts command loop and will terminate when user exits the application.
    public void runCommandLoop();

    // HELPER METHODS:
    
    public void displayMainMenu(); // prints main command options to System.out

    public void displayDailyForecasts(List<IForecast> forecasts); // display forecasts for current day

    public void displayWeeklyForecasts(List<IForecast> forecasts); // display (averaged) forecasts for current week 

    public void displayWarmestDayNextWeek(IForecast forecast); // display (averaged) forecast for warmest day next week

    public void displayScalesMenu(); // prints scales command options to System.out (F/C, 12-hr/24-hr, mph/kph)
}