/* __ *\ ** ________ ___ / / ___ Scala API ** ** / __/ __// _ | / / / _ | (c) 2006-2009, LAMP/EPFL ** ** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ // $Id: ReferenceWrapper.scala 18511 2009-08-19 03:27:37Z extempore $ package scala.ref /** * @author Sean McDirmid */ trait ReferenceWrapper[+T <: AnyRef] extends Reference[T] with Proxy { val underlying: java.lang.ref.Reference[_ <: T] @deprecated("Use .get.isDefined instead") def isValid = underlying.get != null override def get = { val ret = underlying.get if (ret eq null) None else Some(ret) } def apply() = { val ret = underlying.get if (ret eq null) throw new NoSuchElementException ret } def clear = underlying.clear def enqueue = underlying.enqueue def isEnqueued = underlying.isEnqueued def self = underlying }