summaryrefslogtreecommitdiff
path: root/src/actors/scala/actors/Reaction.scala
blob: a4736f94897b6eea3bcc725298312544b475993c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*                     __                                               *\
**     ________ ___   / /  ___     Scala API                            **
**    / __/ __// _ | / /  / _ |    (c) 2005-2010, LAMP/EPFL             **
**  __\ \/ /__/ __ |/ /__/ __ |                                         **
** /____/\___/_/ |_/____/_/ | |                                         **
**                          |/                                          **
\*                                                                      */

// $Id$


package scala.actors

import scala.util.control.ControlException
import java.lang.{InterruptedException, Runnable}

private[actors] class KillActorException extends Throwable with ControlException

/** <p>
 *    The abstract class <code>Reaction</code> associates
 *    an instance of an <code>Actor</code> with a
 *    <a class="java/lang/Runnable" href="" target="contentFrame">
 *    <code>java.lang.Runnable</code></a>.
 *  </p>
 *
 *  @deprecated("this class is going to be removed in a future release")
 *  @author Philipp Haller
 */
class Reaction(a: Actor, f: Any =>? Unit, msg: Any) extends ActorTask(a, () => {
  if (f == null)
    a.act()
  else
    f(msg)
}) {

  def this(a: Actor) = this(a, null, null)

}