Skip to content
Snippets Groups Projects
Verified Commit 9c2b58c8 authored by Adam Krídl's avatar Adam Krídl
Browse files

Add entity Airport

parent a10b8b59
No related branches found
No related tags found
No related merge requests found
package cz.muni.fi.pa165.core.data.domain;
import cz.muni.fi.pa165.core.data.domain.common.DomainEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.Transient;
import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import java.util.Objects;
@Entity
@Table(name = "airports")
@Data
@NoArgsConstructor
public class Airport extends DomainEntity {
@Column(nullable = false, unique = true)
private @NonNull String name;
@Column(nullable = false, unique = true)
@Size(min = 3, max = 3)
private @NonNull String code;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "city_id")
private City city;
private @Transient GpsLocation gpsLocation;
// TODO: arrivingFlights -- Flight - Airport relationship, add to toString()
// TODO: departingFlights -- Flight - Airport relationship, add to toString()
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Airport airport)) {
return false;
}
return getName().equals(airport.getName())
&& getCode().equals(airport.getCode());
}
@Override
public int hashCode() {
return Objects.hash(getName(), getCode());
}
@Override
public String toString() {
return "Airport{" +
"name='" + name + '\'' +
", code='" + code + '\'' +
", city=" + city.getName() +
", gpsLocation=" + gpsLocation +
'}';
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment