Interface ObservableState

All Superinterfaces:
Observer<Boolean>
All Known Subinterfaces:
EntityEditModel.EntityEditor.Exists, EntityEditModel.EntityEditor.Modified, State, State.Combination

public interface ObservableState extends Observer<Boolean>
Specifies an observable for a State instance.
  • Method Details

    • is

      boolean is()
      Returns:
      the value of this state
    • not

      Returns:
      A ObservableState instance that is always the reverse of this ObservableState instance
    • observer

      Observer<Boolean> observer()
      Returns:
      an Observer notified each time the observed value may have changed
    • addListener

      default boolean addListener(Runnable listener)
      Description copied from interface: Observer
      Adds listener to this Observer. Adding the same listener a second time has no effect.
      Specified by:
      addListener in interface Observer<Boolean>
      Parameters:
      listener - the listener to add
      Returns:
      true if this observer did not already contain the specified listener
    • removeListener

      default boolean removeListener(Runnable listener)
      Description copied from interface: Observer
      Removes listener from this Observer
      Specified by:
      removeListener in interface Observer<Boolean>
      Parameters:
      listener - the listener to remove
      Returns:
      true if this observer contained the specified listener
    • addConsumer

      default boolean addConsumer(Consumer<? super Boolean> consumer)
      Description copied from interface: Observer
      Adds consumer to this Observer. Adding the same consumer a second time has no effect.
      Specified by:
      addConsumer in interface Observer<Boolean>
      Parameters:
      consumer - the consumer to add
      Returns:
      true if this observer did not already contain the specified consumer
    • removeConsumer

      default boolean removeConsumer(Consumer<? super Boolean> consumer)
      Description copied from interface: Observer
      Removes consumer from this Observer
      Specified by:
      removeConsumer in interface Observer<Boolean>
      Parameters:
      consumer - the consumer to remove
      Returns:
      true if this observer contained the specified consumer
    • addWeakListener

      default boolean addWeakListener(Runnable listener)
      Description copied from interface: Observer
      Uses a WeakReference, adding listener does not prevent it from being garbage collected. Adding the same listener a second time has no effect.

      Note: Dead weak references accumulate until cleaned up, which happens automatically when listeners are added or removed. To trigger cleanup manually without modifying the listener set, call Observer.removeWeakListener(Runnable) with any non-existing listener:

       // Clean up dead weak references
       observer.removeWeakListener(() -> {});
       
      Specified by:
      addWeakListener in interface Observer<Boolean>
      Parameters:
      listener - the listener
      Returns:
      true if this observer did not already contain the specified listener
    • removeWeakListener

      default boolean removeWeakListener(Runnable listener)
      Description copied from interface: Observer
      Removes listener from this Observer
      Specified by:
      removeWeakListener in interface Observer<Boolean>
      Parameters:
      listener - the listener to remove
      Returns:
      true if this observer contained the specified listener
    • addWeakConsumer

      default boolean addWeakConsumer(Consumer<? super Boolean> consumer)
      Description copied from interface: Observer
      Uses a WeakReference, adding consumer does not prevent it from being garbage collected. Adding the same consumer a second time has no effect.

      Note: Dead weak references accumulate until cleaned up, which happens automatically when listeners are added or removed. To trigger cleanup manually without modifying the listener set, call Observer.removeWeakConsumer(Consumer) with any non-existing consumer:

       // Clean up dead weak references
       observer.removeWeakConsumer(data -> {});
       
      Specified by:
      addWeakConsumer in interface Observer<Boolean>
      Parameters:
      consumer - the consumer
      Returns:
      true if this observer did not already contain the specified consumer
    • removeWeakConsumer

      default boolean removeWeakConsumer(Consumer<? super Boolean> consumer)
      Description copied from interface: Observer
      Removes consumer from this Observer.
      Specified by:
      removeWeakConsumer in interface Observer<Boolean>
      Parameters:
      consumer - the consumer to remove
      Returns:
      true if this observer contained the specified consumer