Untitled
unknown
plain_text
a year ago
3.1 kB
6
Indexable
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class FoodResource {
private String name;
private String address;
private String type;
private String operatingHours;
private boolean isAvailable;
private List<String> availableFoods = new ArrayList<String>();
// Constructor
public FoodResource(String name, String address, String type, String operatingHours, boolean isAvailable, List<String> availableFoods) {
this.name = name;
this.address = address;
this.type = type;
this.operatingHours = operatingHours;
this.isAvailable = isAvailable;
this.availableFoods = availableFoods;
}
// Getters
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public String getType() {
return type;
}
public String getOperatingHours() {
return operatingHours;
}
public boolean isAvailable() {
return isAvailable;
}
public List<String> getAvailableFoods() {
return availableFoods;
}
// Setters
public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}
public void setType(String type) {
this.type = type;
}
public void setOperatingHours(String operatingHours) {
this.operatingHours = operatingHours;
}
public void setAvailable(boolean available) {
isAvailable = available;
}
public void setAvaliableFoods(List<String> avaliableFoods) {
this.availableFoods = availableFoods;
}
// toString Method
@Override
public String toString() {
return name + " (" + type + ") - " + (isAvailable ? "Open" : "Closed") +
"\nAddress: " + address +
"\nHours: " + operatingHours;
}
// equals Method
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FoodResource that = (FoodResource) o;
return isAvailable == that.isAvailable &&
Objects.equals(name, that.name) &&
Objects.equals(address, that.address) &&
Objects.equals(type, that.type) &&
Objects.equals(operatingHours, that.operatingHours);
}
// hashCode Method
@Override
public int hashCode() {
return Objects.hash(name, address, type, operatingHours, isAvailable);
}
public boolean isOpen() {
String[] hours = operatingHours.split("-");
LocalTime openTime = LocalTime.parse(hours[0]);
LocalTime closeTime = LocalTime.parse(hours[1]);
LocalTime currentTime = LocalTime.now();
return currentTime.isAfter(openTime) && currentTime.isBefore(closeTime);
}
}Editor is loading...
Leave a Comment