Package org.reactfx

Class DefaultEventStream<T>

java.lang.Object
org.reactfx.ObservableBase<Consumer<? super T>,T>
org.reactfx.EventStreamBase<T>
org.reactfx.DefaultEventStream<T>
All Implemented Interfaces:
EventStream<T>, Observable<Consumer<? super T>>, ProperEventStream<T>, ProperObservable<Consumer<? super T>,T>

class DefaultEventStream<T> extends EventStreamBase<T>
  • Field Details

    • input

      private final EventStream<T> input
    • initial

      private final T initial
    • latestEvent

      private T latestEvent
    • firstObserver

      private boolean firstObserver
    • emitted

      private boolean emitted
  • Constructor Details

    • DefaultEventStream

      public DefaultEventStream(EventStream<T> input, T initial)
  • Method Details

    • newObserver

      protected void newObserver(Consumer<? super T> observer)
      Description copied from class: ObservableBase
      Called for each new observer. Overriding this method is a convenient way for subclasses to handle this event, for example to publish some initial events.

      This method is called after the ObservableBase.observeInputs() method.

      Overrides:
      newObserver in class ObservableBase<Consumer<? super T>,T>
    • observeInputs

      protected final Subscription observeInputs()
      Description copied from class: ObservableBase
      Starts observing this observable's input(s), if any. This method is called when the number of observers goes from 0 to 1. This method is called before ObservableBase.newObserver(Object) is called for the first observer.
      Specified by:
      observeInputs in class ObservableBase<Consumer<? super T>,T>
      Returns:
      subscription used to stop observing inputs. The subscription is unsubscribed (i.e. input observation stops) when the number of observers goes down to 0.