Can't understand how to stop Patient class from listening Subject when using anonymous implementation.
I tried using Subject variable so I can acces it in reactToChange(); but could not figure out what to do next.
import java.beans.PropertyChangeEvent;
public class Patient
{
private int ticketNumber;
public Patient(int ticketNumber, Subject subject)
{
this.ticketNumber = ticketNumber;
subject.addListener(this::reactToChange); // implementing anonymous implementation
}
private void reactToChange(PropertyChangeEvent event)
{
int newValue = (Integer) event.getNewValue();
if(newValue == ticketNumber){
System.out.println("Patient " + ticketNumber + " goes to the doctor's room");
//need to delete this listener here
} else {
System.out.println("Patient " + ticketNumber + " goes back to looking at phone");
}
}
}