package kaubad; import java.util.HashSet; import java.util.Set; /* * Liikuvad ja seisvad hoidlad - enamasti autod ja laod */ public class Hoidla { double maxmass; String nimetus; Set kaubad=new HashSet(); public Hoidla(double maxmass, String nimetus){ this.maxmass=maxmass; this.nimetus=nimetus; } /** * Kontrollitakse massi sobivust ning et ei lisataks lattu korduvalt. * @param k kontrollitav kaup */ protected void lihtKontroll(Kaup k){ if(kaubad.contains(k)){throw new RuntimeException("Juba olemas");} if(kaupadeKogumass()+k.kysiMass()>maxmass){ throw new RuntimeException("Ei mahu"); } } public void lisaKaup(Kaup k){ lihtKontroll(k); if(k instanceof Temperatuuritundlik){ throw new RuntimeException("Pole temperatuuritundlike kaupade hoidla"); } kaubad.add(k); } public double kaupadeKogumass(){ double summa=0; for(Kaup k: kaubad){ summa+=k.kysiMass(); } return summa; } }