import java.util.ArrayList;
import java.util.List;

public class Factory {
    List<String> vaccines = new ArrayList<>();
    int max_capacity = 2;

    public Factory(int capacity) {
        max_capacity = capacity;
    }
    public void produce_vaccine(String vaccine) throws InterruptedException{
       while(true) {
            synchronized (this) {
                while(vaccines.size() == max_capacity) {
                    wait();
                }
                System.out.println("Sme proizvele vakcina: " + vaccine);
                vaccines.add(vaccine);
                notify();
                Thread.sleep(1000); // davame vreme da napravi sinhronizacija
            }
       }

    }
    public void buy_vaccine() throws InterruptedException {
       while(true) {
           synchronized (this) {
               while(vaccines.size() == 0) {
                   wait();
               }
               String vaccine = vaccines.remove(0);
               System.out.println("Sme ja kupile: " + vaccine);
               notify();
               Thread.sleep(1000);
           }
       }
    }
}
