Class Level

  • All Implemented Interfaces:
    Visitable

    public class Level
    extends Location
    Klasa reprezentujaca poziom (pietro) w hierarchii lokalizacji. Budynek (Building) moze skladac sie z wielu poziomow, a kazdy poziom (Level) moze posiadac wiele pomieszczen (Room). Klasa pozwala na zarzadzanie lokalizacjami podrzednymi poprzez dodawanie i usuwanie pomieszczen, jak rowniez obliczanie sumarycznych parametrow takich jak powierzchnia, kubatura, zuzycie energii i oswietlenia dla calego poziomu.
    • Constructor Detail

      • Level

        public Level​(int id,
                     String name)
        Konstruktor klasy Level.
        Parameters:
        id - unikalny identyfikator poziomu
        name - nazwa poziomu
      • Level

        public Level()
        Konstruktor klasy Level.
    • Method Detail

      • add

        public void add​(Location location)
        Dodaje pokoj do poziomu.
        Specified by:
        add in class Location
        Parameters:
        location - obiekt Room, ktory ma zostac dodany do poziomu
        Throws:
        IllegalArgumentException - jesli dostarczona lokalizacja nie jest instancja klasy Room
      • remove

        public void remove​(Location location)
        Usuwa pokoj z poziomu.
        Specified by:
        remove in class Location
        Parameters:
        location - obiekt Room, ktory ma zostac usuniety z poziomu
        Throws:
        IllegalArgumentException - jesli dostarczona lokalizacja nie jest instancja klasy Room
      • getId

        public int getId()
        Zwraca identyfikator poziomu.
        Returns:
        identyfikator poziomu
      • getName

        public String getName()
        Zwraca nazwe poziomu.
        Returns:
        nazwa poziomu
      • setName

        public void setName​(String name)
        Setter nazwy poziomu.
        Parameters:
        name - nazwa
      • getRoomsOnLevel

        public List<Room> getRoomsOnLevel()
        Zwraca liste pokojow znajdujacych sie na poziomie.
        Returns:
        lista pokojow na poziomie
      • setRoomsOnLevel

        public void setRoomsOnLevel​(List<Room> roomsOnLevel)
        Ustawia nowa liste pokojow na poziomie.
        Parameters:
        roomsOnLevel - lista pokojow, ktora ma zostac przypisana do poziomu
      • accept

        public double accept​(Visitor visitor)
        Funkcja pozwala na zaakceptowanie wizytatora odwiedzajacego klas podlokacji w budynku.
        Parameters:
        visitor - objekt wizytatora
        Returns:
        liczbe double