package cz.coffei.foodo.data.entities;
import cz.coffei.foodo.data.enums.BusinessHoursType;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.sql.Time;
import java.time.LocalTime;
/**
* Created by jtrantin on 8.8.15.
*/
@Entity
@Table(uniqueConstraints = @UniqueConstraint(columnNames = "type"))
public class BusinessHours {
@GeneratedValue
@Id
private Long id;
@Enumerated(EnumType.STRING)
@NotNull
private BusinessHoursType type;
@NotNull
private LocalTime startTime;
@NotNull
private LocalTime endTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public BusinessHoursType getType() {
return type;
}
public void setType(BusinessHoursType type) {
this.type = type;
}
public LocalTime getStartTime() {
return startTime;
}
public void setStartTime(LocalTime start) {
this.startTime = start;
}
public LocalTime getEndTime() {
return endTime;
}
public void setEndTime(LocalTime end) {
this.endTime = end;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
BusinessHours that = (BusinessHours) o;
if (id != null ? !id.equals(that.id) : that.id != null) return false;
if (type != that.type) return false;
if (startTime != null ? !startTime.equals(that.startTime) : that.startTime != null) return false;
return !(endTime != null ? !endTime.equals(that.endTime) : that.endTime != null);
}
@Override
public int hashCode() {
int result = id != null ? id.hashCode() : 0;
result = 31 * result + (type != null ? type.hashCode() : 0);
result = 31 * result + (startTime != null ? startTime.hashCode() : 0);
result = 31 * result + (endTime != null ? endTime.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "BusinessHours{" +
"id=" + id +
", type=" + type +
", start=" + startTime +
", end=" + endTime +
'}';
}
}