casestudyforPractice-Java8features-day2
casestudyforPractice-Java8features-day2
An organization is interested in automating the process of Show Booking System .The system should be
in a position to accept showName, showTime and seatsAvailable from a text file and store into List
Collection. System should be able to track whether seats are available , reduce no of seats if booking is
done and whether given show name available or not. System should be able to throw appropriate
exceptions like InvalidSeatNumberException, SeatsNotAvailableException and UnknownShowException.
Show.java
package com.cts.bean;
import java.io.Serializable;
public class Show implements Serializable {
private static final long serialVersionUID = 1L;
private String showName;
private String showTime;
private int seatsAvailable;
ShowManager.java Interface:
Class showManager
{public List<Show> populate();
public void bookShow(List<Show> showList, String showName,
String show_time, int noOfSeats);
}
ShowManagerImpl.java
Class showManagerImpl
{ public List<Show> populate() {
should handle FileNotFoundException, IOException,
ClassNotFoundException
}
public void bookShow(List<Show> showList, String showName,
String show_time, int noOfSeats) throws
SeatsNotAvailableException, UnknownShowException,
InvalidSeatNumberException
{……}
}
Show.java
@FunctionalInterface
public interface Show
{ public void displayAllShows();
}
ShowImpl.java
public class ShowImpl
{
public void displayallShows() { …. }
Main.java
class Main {
public static void main(String args[]) {
try {
dmi.bookShow(list, "Sahi re Sahi", "6.30pm", 3);
System.out.println(list);
}
….. use multi catch blocks.