package com.ticketSystem; public class Flight { private Date dateAndTime; private String origin; private String destination; private Airplane airplane; private int flightNumber; /** * Class Constructor * * @param date date of flight. * @param origin origin of flight. * @param destination destination of flight. * @param airplane which airplane this flight is going with it. * @param flightNumber number of this flight. */ public Flight(Date date, String origin, String destination, Airplane airplane, int flightNumber){ this.dateAndTime = date; this.origin = origin; this.destination = destination; this.airplane = airplane; this.flightNumber = flightNumber; } /** * Getting date and time of flight. * * @return Date object. */ public Date getDateAndTime() { return dateAndTime; } /** * Getting origin of flight. * * @return origin as String. */ public String getOrigin() { return origin; } /** * Getting destination of flight. * * @return destination as String. */ public String getDestination() { return destination; } /** * Getting type of airplane. * @return airplaneType as String. */ public String getAirplaneType(){ return airplane.getType(); } /** * Getting airplane's airline. * @return airline as string. */ public String getAirplaneAirline(){ return airplane.getAirline(); } /** * Getting flight Number. * @return int */ public int getFlightNumber() { return flightNumber; } /** * Creating ticket if customer wants to add a ticket. * * @param chairNumber Chairnumber in airplane * @param amountOfBsggage how many baggage customer has * @param foodReserve is customer wants to reserver food or not. * @return Ticket object if process succeed or null if it's not. */ public Ticket createTicket(int chairNumber, int amountOfBsggage, boolean foodReserve){ for (Chair chair : getAirplane().getFreeChairs()) if (chair.getChairNumber() == chairNumber) { Ticket ticket = new Ticket(chairNumber, getFlightNumber(), amountOfBsggage, foodReserve); getAirplane().getFreeChairs().remove(chair); return ticket; } return null; } /** * Getting airplane object. * * @return Airplane Object. */ private Airplane getAirplane() { return airplane; } }