src/
Main.java // Головний клас
service/
CoffeeShop.java // Клас кав’ярні з вкладеними Table та Order
util/
Constants.java // Клас із константами (назва кав’ярні)
- Поля:
name,listOfTables. - Конструктор ініціалізує назву кав’ярні через
Constants.Shop.SHOP_NAME. - Методи:
addTable(Table)- додати столик до кав’ярні;displayAllTables()- відобразити всі столики.
- Статичний блок ініціалізації:
- Виводить привітання при запуску: "Welcome to the Starbucks!".
- Поля:
tableNumber,capacity,listOfOrders. - Лічильник
counterTableавтоматично присвоює номер кожному новому столику. - Блок ініціалізації екземпляра:
- Виводить повідомлення при створенні столика.
- Методи:
addOrder(String clientName, String drinkName, double price)- додає нове замовлення, якщо є вільне місце;displayAllOrders()- виводить усі замовлення поточного столика;sortOrdersByPrice()- сортує замовлення за ціною (анонімний клас-компаратор);sortOrdersByDrinkName()- сортує замовлення за назвою напою (анонімний клас-компаратор);displayOrdersWithLambda()- виводить замовлення за допомогою лямбда-виразу.
- Розташований всередині класу Table.
- Поля:
clientName,drinkName,price. - Конструктор ініціалізує всі поля.
- Метод:
displayOrder()- виводить інформацію про замовлення з використаннямTable.this.tableNumber(qualified this) для доступу до полів класуTable.