Packages

class BehaviorBuilder[T] extends AnyRef

Used for creating a Behavior by 'chaining' message and signal handlers.

When handling a message or signal, this Behavior will consider all handlers in the order they were added, looking for the first handler for which both the type and the (optional) predicate match.

T

the common superclass of all supported messages.

Source
BehaviorBuilder.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BehaviorBuilder
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. def build(): Behavior[T]
  2. def onMessage[M <: T](type: Class[M], test: Predicate[M], handler: Function2[ActorContext[T], M, Behavior[T]]): BehaviorBuilder[T]

    Add a new predicated case to the message handling.

    Add a new predicated case to the message handling.

    M

    type of message to match

    type

    type of message to match

    test

    a predicate that will be evaluated on the argument if the type matches

    handler

    action to apply if the type matches and the predicate returns true

    returns

    a new behavior with the specified handling appended

  3. def onMessage[M <: T](type: Class[M], handler: Function2[ActorContext[T], M, Behavior[T]]): BehaviorBuilder[T]

    Add a new case to the message handling.

    Add a new case to the message handling.

    M

    type of message to match

    type

    type of message to match

    handler

    action to apply if the type matches

    returns

    a new behavior with the specified handling appended

  4. def onMessageEquals(msg: T, handler: Function[ActorContext[T], Behavior[T]]): BehaviorBuilder[T]

    Add a new case to the message handling matching equal messages.

    Add a new case to the message handling matching equal messages.

    msg

    the message to compare to

    handler

    action to apply when the message matches

    returns

    a new behavior with the specified handling appended

  5. def onMessageUnchecked[M <: T](type: Class[_ <: T], handler: Function2[ActorContext[T], M, Behavior[T]]): BehaviorBuilder[T]

    Add a new case to the message handling without compile time type check.

    Add a new case to the message handling without compile time type check.

    Should normally not be used, but when matching on class with generic type argument it can be useful, e.g. List.class and (List<String> list) -> {...}

    type

    type of message to match

    handler

    action to apply when the type matches

    returns

    a new behavior with the specified handling appended

  6. def onSignal[M <: Signal](type: Class[M], test: Predicate[M], handler: Function2[ActorContext[T], M, Behavior[T]]): BehaviorBuilder[T]

    Add a new predicated case to the signal handling.

    Add a new predicated case to the signal handling.

    M

    type of signal to match

    type

    type of signals to match

    test

    a predicate that will be evaluated on the argument if the type matches

    handler

    action to apply if the type matches and the predicate returns true

    returns

    a new behavior with the specified handling appended

  7. def onSignal[M <: Signal](type: Class[M], handler: Function2[ActorContext[T], M, Behavior[T]]): BehaviorBuilder[T]

    Add a new case to the signal handling.

    Add a new case to the signal handling.

    M

    type of signal to match

    type

    type of signal to match

    handler

    action to apply if the type matches

    returns

    a new behavior with the specified handling appended

  8. def onSignalEquals(signal: Signal, handler: Function[ActorContext[T], Behavior[T]]): BehaviorBuilder[T]

    Add a new case to the signal handling matching equal signals.

    Add a new case to the signal handling matching equal signals.

    signal

    the signal to compare to

    handler

    action to apply when the message matches

    returns

    a new behavior with the specified handling appended

  9. def onSignalUnchecked[M <: Signal](type: Class[_ <: Signal], handler: Function2[ActorContext[T], M, Behavior[T]]): BehaviorBuilder[T]

    Add a new case to the signal handling without compile time type check.

    Add a new case to the signal handling without compile time type check.

    Should normally not be used, but when matching on class with generic type argument it can be useful, e.g. GenMsg.class and (ActorContext ctx, GenMsg<String> list) -> {...}

    type

    type of signal to match

    handler

    action to apply when the type matches

    returns

    a new behavior with the specified handling appended