Files
G4G0-1/Semester 1/Programming 1/Java/examples/projects/chapter16/taxi-company-outline/PassengerSource.java
2024-01-15 20:14:10 +00:00

45 lines
1.1 KiB
Java
Executable File

/**
* Simulate passengers requesting rides from a taxi company.
* Passengers should be generated at random intervals.
*
* @author David J. Barnes and Michael Kölling
* @version 2016.02.29
*/
public class PassengerSource
{
private TaxiCompany company;
/**
* Constructor for objects of class PassengerSource.
* @param company The company to be used. Must not be null.
* @throws NullPointerException if company is null.
*/
public PassengerSource(TaxiCompany company)
{
if(company == null) {
throw new NullPointerException("company");
}
this.company = company;
}
/**
* Have the source generate a new passenger and
* request a pickup from the company.
* @return true If the request succeeds, false otherwise.
*/
public boolean requestPickup()
{
Passenger passenger = createPassenger();
return company.requestPickup(passenger);
}
/**
* Create a new passenger.
* @return The created passenger.
*/
private Passenger createPassenger()
{
return new Passenger(new Location(), new Location());
}
}