public class Car {
private String brand;
private RentalStatus rentalStatus;
private Transmission transmission;
private FormCategory formCategory;
private int mileage;
private String date;
private String imagePath;
private String details;
private int price;
public Car(String brand, RentalStatus rentalStatus, Transmission transmission,
FormCategory formCategory, int mileage, String date, String imagePath, String
details, int price) {
this.brand = brand;
this.rentalStatus = rentalStatus;
this.transmission = transmission;
this.formCategory = formCategory;
this.mileage = mileage;
this.date = date;
this.imagePath = imagePath;
this.details = details;
this.price = price;
}
public void setBrand(String brand) {
this.brand = brand;
}
public void setRentalStatus(RentalStatus rentalStatus) {
this.rentalStatus = rentalStatus;
}
public void setTransmission(Transmission transmission) {
this.transmission = transmission;
}
public void setFormCategory(FormCategory formCategory) {
this.formCategory = formCategory;
}
public void setMileage(int mileage) {
this.mileage = mileage;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getBrand() {
return brand;
}
public RentalStatus getRentalStatus() {
return rentalStatus;
}
public Transmission getTransmission() {
return transmission;
}
public FormCategory getFormCategory() {
return formCategory;
}
public int getMileage() {
return mileage;
}
public String getDate() {
return date;
}
public String getImagePath() {
return imagePath;
}
public void setDate(String date) {
this.date = date;
}
public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
public String getDetails() {
return details;
}
public void setDetails(String details) {
this.details = details;
}
public void rentCar(int days) {
if (this.rentalStatus == RentalStatus.Available) {
this.rentalStatus = RentalStatus.Rented;
System.out.println("Car rented for " + days + " days." + "\n Price:"+
days*price + "\n Have a good Time, Be Careful" );
} else {
System.out.println("Car is not available for rent.");
}
}
}
enum RentalStatus {
Available,
Rented,
UnderMaintenance
}
enum Transmission {
Automatic,
Manual
}
enum FormCategory {
Luxury,
Hybrid,
Sport,
Convertible,
Sedan
}