Class TestTransport.SwitchableLoggedBehavior<A,​B>

  • All Implemented Interfaces:
    scala.Function1<A,​scala.concurrent.Future<B>>
    Enclosing class:
    TestTransport

    public static class TestTransport.SwitchableLoggedBehavior<A,​B>
    extends java.lang.Object
    implements scala.Function1<A,​scala.concurrent.Future<B>>
    Changes the current behavior to the provided one.

    param: behavior Function that takes a parameter type A and returns a Future[B].

    • Constructor Summary

      Constructors 
      Constructor Description
      SwitchableLoggedBehavior​(scala.Function1<A,​scala.concurrent.Future<B>> defaultBehavior, scala.Function1<A,​scala.runtime.BoxedUnit> logCallback)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      scala.concurrent.Future<B> apply​(A params)
      Applies the current behavior, and invokes the callback.
      void pop()
      Restores the previous behavior.
      void push​(scala.Function1<A,​scala.concurrent.Future<B>> behavior)
      Changes the current behavior to the provided one.
      void pushConstant​(B c)
      Changes the behavior to return a completed future with the given constant value.
      scala.concurrent.Promise<scala.runtime.BoxedUnit> pushDelayed()
      Enables control of the completion of the previously active behavior.
      void pushError​(java.lang.Throwable e)
      Changes the current behavior to return a failed future containing the given Throwable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface scala.Function1

        andThen, apply$mcDD$sp, apply$mcDF$sp, apply$mcDI$sp, apply$mcDJ$sp, apply$mcFD$sp, apply$mcFF$sp, apply$mcFI$sp, apply$mcFJ$sp, apply$mcID$sp, apply$mcIF$sp, apply$mcII$sp, apply$mcIJ$sp, apply$mcJD$sp, apply$mcJF$sp, apply$mcJI$sp, apply$mcJJ$sp, apply$mcVD$sp, apply$mcVF$sp, apply$mcVI$sp, apply$mcVJ$sp, apply$mcZD$sp, apply$mcZF$sp, apply$mcZI$sp, apply$mcZJ$sp, compose, toString
    • Constructor Detail

      • SwitchableLoggedBehavior

        public SwitchableLoggedBehavior​(scala.Function1<A,​scala.concurrent.Future<B>> defaultBehavior,
                                        scala.Function1<A,​scala.runtime.BoxedUnit> logCallback)
    • Method Detail

      • apply

        public scala.concurrent.Future<B> apply​(A params)
        Applies the current behavior, and invokes the callback.

        Specified by:
        apply in interface scala.Function1<A,​B>
        Parameters:
        params - The parameters of this behavior.
        Returns:
        The result of this behavior wrapped in a future.
      • pop

        public void pop()
        Restores the previous behavior.
      • push

        public void push​(scala.Function1<A,​scala.concurrent.Future<B>> behavior)
        Changes the current behavior to the provided one.

        Parameters:
        behavior - Function that takes a parameter type A and returns a Future[B].
      • pushConstant

        public void pushConstant​(B c)
        Changes the behavior to return a completed future with the given constant value.

        Parameters:
        c - The constant the future will be completed with.
      • pushDelayed

        public scala.concurrent.Promise<scala.runtime.BoxedUnit> pushDelayed()
        Enables control of the completion of the previously active behavior. Wraps the previous behavior in a new one, returns a control promise that starts the original behavior after the control promise is completed.

        Returns:
        A promise, which delays the completion of the original future until after this promise is completed.
      • pushError

        public void pushError​(java.lang.Throwable e)
        Changes the current behavior to return a failed future containing the given Throwable.

        Parameters:
        e - The throwable the failed future will contain.