Merge pull request #27797 from johanandren/wip-japi-lambda-followup
Some follow up on the japi lambda changes
This commit is contained in:
commit
85e52eddd0
1 changed files with 12 additions and 12 deletions
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue