Adding composable actor code snippet to docs, case closed
This commit is contained in:
parent
9b43134307
commit
937ecc3f50
2 changed files with 27 additions and 0 deletions
|
|
@ -657,3 +657,7 @@ extend that, either through inheritance or delegation, is to use
|
||||||
``PartialFunction.orElse`` chaining.
|
``PartialFunction.orElse`` chaining.
|
||||||
|
|
||||||
.. includecode:: code/akka/docs/actor/ActorDocSpec.scala#receive-orElse
|
.. includecode:: code/akka/docs/actor/ActorDocSpec.scala#receive-orElse
|
||||||
|
|
||||||
|
Or:
|
||||||
|
|
||||||
|
.. includecode:: code/akka/docs/actor/ActorDocSpec.scala#receive-orElse2
|
||||||
|
|
@ -133,6 +133,29 @@ class SpecificActor extends GenericActor {
|
||||||
case class MyMsg(subject: String)
|
case class MyMsg(subject: String)
|
||||||
//#receive-orElse
|
//#receive-orElse
|
||||||
|
|
||||||
|
//#receive-orElse2
|
||||||
|
trait ComposableActor extends Actor {
|
||||||
|
private var receives: List[Receive] = List()
|
||||||
|
protected def registerReceive(receive: Receive) {
|
||||||
|
receives = receive :: receives
|
||||||
|
}
|
||||||
|
|
||||||
|
def receive = receives reduce { _ orElse _ }
|
||||||
|
}
|
||||||
|
|
||||||
|
class MyComposableActor extends ComposableActor {
|
||||||
|
override def preStart() {
|
||||||
|
registerReceive({
|
||||||
|
case "foo" ⇒ /* Do something */
|
||||||
|
})
|
||||||
|
|
||||||
|
registerReceive({
|
||||||
|
case "bar" ⇒ /* Do something */
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//#receive-orElse2
|
||||||
class ActorDocSpec extends AkkaSpec(Map("akka.loglevel" -> "INFO")) {
|
class ActorDocSpec extends AkkaSpec(Map("akka.loglevel" -> "INFO")) {
|
||||||
|
|
||||||
"import context" in {
|
"import context" in {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue