diff --git a/akka-actor-typed/src/main/scala/akka/actor/typed/javadsl/BehaviorBuilder.scala b/akka-actor-typed/src/main/scala/akka/actor/typed/javadsl/BehaviorBuilder.scala index 20cc188e80..45e0d7afdf 100644 --- a/akka-actor-typed/src/main/scala/akka/actor/typed/javadsl/BehaviorBuilder.scala +++ b/akka-actor-typed/src/main/scala/akka/actor/typed/javadsl/BehaviorBuilder.scala @@ -6,7 +6,7 @@ package akka.actor.typed.javadsl import scala.annotation.tailrec -import akka.japi.function.Function +import akka.japi.function.{ Function => JFunction } import akka.japi.function.Creator import akka.japi.function.{ Predicate => JPredicate } import akka.annotation.InternalApi @@ -43,7 +43,7 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa * @tparam M type of message to match * @return a new behavior builder with the specified handling appended */ - def onMessage[M <: T](`type`: Class[M], handler: Function[M, Behavior[T]]): BehaviorBuilder[T] = + def onMessage[M <: T](`type`: Class[M], handler: JFunction[M, Behavior[T]]): BehaviorBuilder[T] = withMessage(OptionVal.Some(`type`), OptionVal.None, handler) /** @@ -55,7 +55,7 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa * @tparam M type of message to match * @return a new behavior builder with the specified handling appended */ - def onMessage[M <: T](`type`: Class[M], test: JPredicate[M], handler: Function[M, Behavior[T]]): BehaviorBuilder[T] = + def onMessage[M <: T](`type`: Class[M], test: JPredicate[M], handler: JFunction[M, Behavior[T]]): BehaviorBuilder[T] = withMessage(OptionVal.Some(`type`), OptionVal.Some((t: T) => test.test(t.asInstanceOf[M])), handler) /** @@ -68,7 +68,7 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa * @param handler action to apply when the type matches * @return a new behavior builder with the specified handling appended */ - def onMessageUnchecked[M <: T](`type`: Class[_ <: T], handler: Function[M, Behavior[T]]): BehaviorBuilder[T] = + def onMessageUnchecked[M <: T](`type`: Class[_ <: T], handler: JFunction[M, Behavior[T]]): BehaviorBuilder[T] = withMessage[M](OptionVal.Some(`type`.asInstanceOf[Class[M]]), OptionVal.None, handler) /** @@ -91,7 +91,7 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa * @param handler action to apply for any message * @return a new behavior builder with the specified handling appended */ - def onAnyMessage(handler: Function[T, Behavior[T]]): BehaviorBuilder[T] = + def onAnyMessage(handler: JFunction[T, Behavior[T]]): BehaviorBuilder[T] = withMessage(OptionVal.None, OptionVal.None, handler) /** @@ -102,8 +102,8 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa * @tparam M type of signal to match * @return a new behavior builder with the specified handling appended */ - def onSignal[M <: Signal](`type`: Class[M], handler: Function[M, Behavior[T]]): BehaviorBuilder[T] = - withSignal(`type`, OptionVal.None, handler.asInstanceOf[Function[Signal, Behavior[T]]]) + def onSignal[M <: Signal](`type`: Class[M], handler: JFunction[M, Behavior[T]]): BehaviorBuilder[T] = + withSignal(`type`, OptionVal.None, handler.asInstanceOf[JFunction[Signal, Behavior[T]]]) /** * Add a new predicated case to the signal handling. @@ -117,11 +117,11 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa def onSignal[M <: Signal]( `type`: Class[M], test: JPredicate[M], - handler: Function[M, Behavior[T]]): BehaviorBuilder[T] = + handler: JFunction[M, Behavior[T]]): BehaviorBuilder[T] = withSignal( `type`, OptionVal.Some((t: Signal) => test.test(t.asInstanceOf[M])), - handler.asInstanceOf[Function[Signal, Behavior[T]]]) + handler.asInstanceOf[JFunction[Signal, Behavior[T]]]) /** * Add a new case to the signal handling matching equal signals. @@ -136,7 +136,7 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa private def withMessage[M <: T]( clazz: OptionVal[Class[M]], test: OptionVal[M => Boolean], - handler: Function[M, Behavior[T]]): BehaviorBuilder[T] = { + handler: JFunction[M, Behavior[T]]): BehaviorBuilder[T] = { val newCase = Case(clazz, test, handler) new BehaviorBuilder[T](newCase.asInstanceOf[Case[T, T]] +: messageHandlers, signalHandlers) } @@ -144,7 +144,7 @@ final class BehaviorBuilder[T] private (messageHandlers: List[Case[T, T]], signa private def withSignal[M <: Signal]( `type`: Class[M], test: OptionVal[Signal => Boolean], - handler: Function[Signal, Behavior[T]]): BehaviorBuilder[T] = { + handler: JFunction[Signal, Behavior[T]]): BehaviorBuilder[T] = { new BehaviorBuilder[T]( messageHandlers, Case(OptionVal.Some(`type`), test, handler).asInstanceOf[Case[T, Signal]] +: signalHandlers) @@ -161,7 +161,7 @@ object BehaviorBuilder { private[javadsl] final case class Case[BT, MT]( `type`: OptionVal[Class[_ <: MT]], test: OptionVal[MT => Boolean], - handler: Function[MT, Behavior[BT]]) + handler: JFunction[MT, Behavior[BT]]) /** * @return new empty immutable behavior builder.