package fi.utu.tech.ooj.exercise3; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class Kirjasto { private String kirjastonNimi; private String osoite; private List<KirjaKokoelma> kokoelmat = new ArrayList<>(); private Set<Kirjasto> sivukirjastot = new HashSet<>(); public Kirjasto(String kirjastonNimi, String osoite) { this.kirjastonNimi = kirjastonNimi; this.osoite = osoite; } public Set<Kirjasto> getSivukirjastot() { return sivukirjastot; } public String getKirjastonNimi() { return kirjastonNimi; } public void setKirjastonNimi(String kirjastonNimi) { this.kirjastonNimi = kirjastonNimi; } public String getOsoite() { return osoite; } public void setOsoite(String osoite) { this.osoite = osoite; } public List<KirjaKokoelma> getKokoelmat() { return kokoelmat; } public void lisaaKokoelma(KirjaKokoelma input) throws IllegalArgumentException { if (input == null || input.getkokoelmanNimi() == null || input.getkokoelmanNimi().isBlank()) { throw new IllegalArgumentException("Virheelliset kirjastotiedot"); } kokoelmat.add(input); } public void lisaaSivukirjasto(Kirjasto input) throws IllegalArgumentException { if (input == null || input.getKirjastonNimi() == null || input.getOsoite() == null || input.getKirjastonNimi().isBlank() || input.getOsoite().isBlank()) { throw new IllegalArgumentException("Virheelliset kirjastotiedot"); } sivukirjastot.add(input); } @Override public Object clone() throws CloneNotSupportedException{ Kirjasto k = (Kirjasto)super.clone(); for (KirjaKokoelma kk : this.kokoelmat){ k. } } }