Class BehaviorImpl

java.lang.Object
org.apache.pekko.actor.typed.internal.BehaviorImpl

public class BehaviorImpl extends Object
INTERNAL API
  • Constructor Details

    • BehaviorImpl

      public BehaviorImpl()
  • Method Details

    • ContextAs

      public static <T> BehaviorImpl.ContextAs<T> ContextAs(TypedActorContext<T> ctx)
    • transformMessages

      public static <O, I> Behavior<O> transformMessages(Behavior<I> behavior, scala.PartialFunction<O,I> matcher, scala.reflect.ClassTag<O> evidence$1)
    • same

      public static <T> Behavior<T> same()
    • unhandled

      public static <T> Behavior<T> unhandled()
    • stopped

      public static <T> Behavior<T> stopped()
    • stopped

      public static <T> Behavior<T> stopped(scala.Function0<scala.runtime.BoxedUnit> postStop)
    • empty

      public static <T> Behavior<T> empty()
    • ignore

      public static <T> Behavior<T> ignore()
    • failed

      public static <T> Behavior<T> failed(Throwable cause)
    • unhandledSignal

      public static scala.PartialFunction<scala.Tuple2<TypedActorContext<scala.runtime.Nothing$>,Signal>,Behavior<scala.runtime.Nothing$>> unhandledSignal()
    • StoppedBehavior

      public static org.apache.pekko.actor.typed.internal.BehaviorImpl.StoppedBehavior<scala.runtime.Nothing$> StoppedBehavior()
    • intercept

      public static <O, I> Behavior<O> intercept(scala.Function0<BehaviorInterceptor<O,I>> interceptor, Behavior<I> behavior)
      Intercept messages and signals for a behavior by first passing them to a pekko.actor.typed.BehaviorInterceptor

      When a behavior returns a new behavior as a result of processing a signal or message and that behavior already contains the same interceptor (defined by the isSame method on the BehaviorInterceptor) only the innermost interceptor is kept. This is to protect against stack overflow when recursively defining behaviors.