Class SingleStateful<S>

java.lang.Object
com.couchbase.client.core.util.SingleStateful<S>
All Implemented Interfaces:
Stateful<S>

public class SingleStateful<S> extends Object implements Stateful<S>
Represents a single stateful component.
  • Method Details

    • fromInitial

      public static <S> SingleStateful<S> fromInitial(S initialState)
      Creates a new stateful component with an initial state.
      Parameters:
      initialState - the initial state of the component.
      Returns:
      an initialized stateful component with the state provided.
    • fromInitial

      public static <S> SingleStateful<S> fromInitial(S initialState, BiConsumer<S,S> beforeTransitionCallback)
      Creates a new stateful component with an initial state.
      Parameters:
      initialState - the initial state of the component.
      Returns:
      an initialized stateful component with the state provided.
    • state

      public S state()
      Description copied from interface: Stateful
      Returns the current state of the stateful component.
      Specified by:
      state in interface Stateful<S>
    • states

      public Flux<S> states()
      Description copied from interface: Stateful
      Returns a stream of states for this component as they change.
      Specified by:
      states in interface Stateful<S>
    • transition

      public void transition(S newState)
      Transition into a new state, notifying consumers.

      Note that if the new state is identical to the old state no transition will be performed.

      Parameters:
      newState - the new state to apply.
    • compareAndTransition

      public boolean compareAndTransition(S expectedState, S newState)
      If the expected state is in place the new one is applied and consumers notified.
      Parameters:
      expectedState - the old expected state.
      newState - the new state to apply.
      Returns:
      true if the comparison has been successful.
    • close

      public void close()
      Doesn't have to be called, added for good measure.