message.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 83 行
SCALA
83 行
/* __ *\** ________ ___ / / ___ Scala API **** / __/ __// _ | / / / _ | (c) 2003-2006, LAMP/EPFL **** __\ \/ /__/ __ |/ /__/ __ | **** /____/\___/_/ |_/____/_/ | | **** |/ **\* */// $Id: Message.scala 10537 2007-03-26 15:19:07Z mihaylov $package scala.collection.mutableimport Predef._/** Class <code>Message</code> represents messages that are issued by observable * collection classes whenever a data structure is changed. Class <code>Message</code> * has several subclasses for the various kinds of events: <code>Update</code> * <code>Remove</code>, <code>Include</code>, <code>Reset</code>, and * <code>Script</code>. * * @author Matthias Zenger * @version 1.0, 08/07/2003 */trait Message[+A]/** This observable update refers to inclusion operations that add new elements * to collection classes. * * @author Matthias Zenger * @version 1.0, 08/07/2003 */case class Include[+I](elem: I) extends Message[I]/** This observable update refers to destructive modification operations * of elements from collection classes. * * @author Matthias Zenger * @version 1.0, 08/07/2003 */case class Update[+A](elem: A) extends Message[A]/** This observable update refers to removal operations of elements * from collection classes. * * @author Matthias Zenger * @version 1.0, 08/07/2003 */case class Remove[+A](elem: A) extends Message[A]/** This command refers to reset operations. * * @author Matthias Zenger * @version 1.0, 08/07/2003 */case class Reset[+A]() extends Message[A]/** Objects of this class represent compound messages consisting * of a sequence of other messages. * * @author Matthias Zenger * @version 1.0, 10/05/2004 */class Script[A] extends ArrayBuffer[Message[A]] with Message[A] { override def toString(): String = { var res = "Script(" var it = elements var i = 1 while (it.hasNext) { if (i > 1) res = res + ", " res = res + "[" + i + "] " + it.next i = i + 1 } res + ")" } override def hashCode(): Int = throw new UnsupportedOperationException("scripts are not suitable as hash keys")}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?