All Classes and Interfaces

Class
Description
Handles the core ATM (Automated Teller Machine) logic, including displaying current state, get horse by number, processing bets, restocking, setting the winner horse, and initializing the list of horses.
Implementation of the Bet Command which allows handling bets for a racehorse with a number and an amount.
Represents the ATM's bill inventory.
Interface which defines the pattern for all the commands of the system.
Holds the commands of the system as constants to be reused in the application.
 
Holds constants for the denominations available and the amounts initially available.
Represents a racehorse with a number, name, odds, and winner state.
Utility class for creating and initializing the default list of horses for the ATM.
Implementation of the Invalid Bet Command which allows handling scenarios where the user attempts to make invalid bets.
Implementation of the Invalid Command which allows handling scenarios where the user attempts to use invalid commands.
Implementation of the Invalid Horse Number Command which allows handling scenarios where the user attempts to execute commands on racehorses non-existing in the system.
This is the main class of the application.
Implementation of the Quit Command which allows terminating the execution of the application.
Implementation of the Restock Command which allows the user to restock the cash inventory.
Implementation of the Set Winner Command which allows the user to set the winner racehorse.