Class Watcher<T>

java.lang.Object
net.apartium.cocoabeans.state.Watcher<T>
Type Parameters:
T - element type
All Implemented Interfaces:
Observer
Direct Known Subclasses:
AttachedWatcher

@AvailableSince("0.0.39") public class Watcher<T> extends Object implements Observer
An observer implementation attaching an action to an observable instance, performing it when its state changes and a heartbeat is triggered
See Also:
  • Field Details

  • Constructor Details

    • Watcher

      public Watcher(Observable<T> depends, Consumer<T> consumer)
      Constructs a new instance
      Parameters:
      depends - parent state
      consumer - action to perform on change
  • Method Details

    • heartbeat

      public void heartbeat()
      Trigger a heartbeat on this instance. If the value of the underlying observable has changed, trigger the action.
    • detach

      public void detach()
      Detaches the current watcher from its target observable.
    • flagAsDirty

      public void flagAsDirty(Observable<?> observable)
      Flag listener as dirty
      Specified by:
      flagAsDirty in interface Observer
      Parameters:
      observable - marking observable