Class Hospital

java.lang.Object
epidemic.model.Hospital
All Implemented Interfaces:
Inspectable

public class Hospital extends Object implements Inspectable
Reprezentuje infrastrukturę medyczną na mapie. Odpowiada za rejestrację i przechowywanie pacjentów, limitowanie przepustowości usług opieki zdrowotnej oraz eksponowanie swoich wskaźników do widoków telemetrycznych.
  • Field Details

    • capacity

      private final int capacity
    • patients

      private final List<HospitalUser> patients
    • position

      private final Point2D position
  • Constructor Details

    • Hospital

      public Hospital(int capacity, Point2D position)
      Konstruuje nową placówkę medyczną gotową do przyjmowania pacjentów.
      Parameters:
      capacity - Ograniczenie liczby pacjentów leczonych w tym samym czasie.
      position - Statyczne koordynaty obiektu w świecie symulacji .
  • Method Details

    • getCapacity

      public int getCapacity()
      Pobiera zdefiniowany limit dostępnych miejsc w placówce.
      Returns:
      Maksymalna dopuszczalna liczba pacjentów.
    • addPatient

      public boolean addPatient(HospitalUser user)
      Podejmuje próbę zapisu pacjenta na oddział pod warunkiem dostępności łóżek.
      Parameters:
      user - Encja wyrażająca chęć i uprawnienia do hospitalizacji.
      Returns:
      true, jeśli pacjent został skutecznie wpisany; false, jeśli brak wolnych miejsc.
    • getPosition

      public Point2D getPosition()
      Pobiera dokładną pozycję obiektu.
      Returns:
      Wektor położenia szpitala.
    • getPatients

      public List<HospitalUser> getPatients()
      Udostępnia listę pacjentów, którzy aktualnie są w trakcie hospitalizacji.
      Returns:
      Kolekcja podopiecznych szpitala.
    • getObjectName

      public String getObjectName()
      Zwraca etykietę nazwy podmiotu wykorzystywaną w warstwie gui.
      Specified by:
      getObjectName in interface Inspectable
      Returns:
      Zrozumiały dla użytkownika ciąg znaków identyfikujący encję.
    • getInspectionProperties

      public List<InspectionProperty> getInspectionProperties()
      Generuje zbiór metadanych analitycznych dotyczących bieżącego obciążenia szpitala. Kalkuluje estetykę paska postępu, dostosowując kolor do gęstości wykorzystania infrastruktury: od standardowego niebieskiego, przez alarmowy pomarańczowy (powyżej 50%), aż po krytyczny czerwony (powyżej 90%).
      Specified by:
      getInspectionProperties in interface Inspectable
      Returns:
      Dynamicznie generowana lista atrybutów dla inspektora.