Commit ad2b625d authored by Tomáš Biloš's avatar Tomáš Biloš
Browse files

Merge branch 'xmozolak/country-improvements' into 'main'

feat: Country entity improvements

See merge request !15
parents c23f39ab 6a026127
package cz.fi.muni.pa165.seminar4.group7.secretservice.entity;
import com.sun.istack.NotNull;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import javax.persistence.*;
import java.util.List;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
/**
* @author Milan Mozolak
*/
@Entity
@Getter
@Setter
@Accessors(chain = true)
public class Country {
@Id
@Column(name = "id", nullable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private Long id;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String code;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String name;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String demographics;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String geography;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String communications;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String government;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String economy;
@NotNull
@Column(nullable = false)
@Getter
@Setter
private String military;
@Getter
@Setter
@Setter(AccessLevel.NONE)
@OneToMany(mappedBy = "country")
private List<Mission> missions;
private Set<Mission> missions = new HashSet<>();
public void addMission(Mission mission) {
missions.add(mission);
mission.setCountry(this);
}
public void removeMission(Mission mission) {
missions.remove(mission);
mission.setCountry(null);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Country country = (Country) o;
return id.equals(country.id) && code.equals(country.code);
return code.equals(country.code);
}
@Override
public int hashCode() {
return Objects.hash(id, code);
return Objects.hash(code);
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment