Interface Observer.Builder<T,B extends Observer.Builder<T,B>>

Type Parameters:
T - the observed type
B - the builder type
All Known Subinterfaces:
Value.Builder<T,B>, ValueCollection.Builder<T,C,B>, ValueList.Builder<T>, ValueSet.Builder<T>
All Known Implementing Classes:
AbstractObserver.AbstractBuilder, AbstractValue.AbstractBuilder
Enclosing interface:
Observer<T>

public static interface Observer.Builder<T,B extends Observer.Builder<T,B>>
Builds an Observer
  • Method Details

    • listener

      B listener(Runnable listener)
      Parameters:
      listener - a listener to add
      Returns:
      this builder instance
    • consumer

      B consumer(Consumer<? super T> consumer)
      Parameters:
      consumer - a consumer to add
      Returns:
      this builder instance
    • weakListener

      B weakListener(Runnable weakListener)
      Parameters:
      weakListener - a weak listener to add
      Returns:
      this builder instance
    • weakConsumer

      B weakConsumer(Consumer<? super T> weakConsumer)
      Parameters:
      weakConsumer - a weak consumer to add
      Returns:
      this builder instance
    • when

      B when(T value, Runnable listener)
      Adds a conditional listener
      Parameters:
      value - the value on which to run
      listener - the listener
      Returns:
      this builder instance
    • when

      B when(T value, Consumer<? super T> consumer)
      Adds a conditional consumer
      Parameters:
      value - the value to consume
      consumer - the consumer
      Returns:
      this builder instance
    • when

      B when(Predicate<T> predicate, Runnable listener)
      Adds a conditional listener
      Parameters:
      predicate - the predicate on which to run
      listener - the runnable
      Returns:
      this builder instance
    • when

      B when(Predicate<T> predicate, Consumer<? super T> consumer)
      Adds a conditional consumer
      Parameters:
      predicate - the predicate on which to consume the value
      consumer - the consumer to use
      Returns:
      this builder instance
    • build

      Observer<T> build()
      Returns:
      an Observer based on this builder