scalax.control.ManagedResource

class ManagedResource

abstract class ManagedResource[+ A]

 extends ScalaObject


Provides automatic resource management, equivalent to C#'s using, or C++ RAII. Idiomatic usage would be as follows (in fact FileExtras provides a method equivalent to fileReader below):
 def fileReader(f : String) = ManagedResource(new FileReader(f))

 // Print the first character of a file
 for(in <- fileReader("/etc/passwd"))
     println(in.read().toChar)
 


Companion: ManagedResource

Source: resources.scala(30)

Direct Known Subclasses

CloseableResource, UntranslatedManagedResource,

 Constructors

def this

 Methods

!= final def !=(arg0 : Any) Boolean Any
!= final def !=(arg0 : Object) Boolean AnyRef
== final def ==(arg0 : Object) Boolean AnyRef
== final def ==(arg0 : Any) Boolean Any
acquireFor def acquireFor[B](f : (A) => B)
Acquires the resource for the duration of the supplied function
B
and def and[B](that : ManagedResource[B]) ManagedResource[(A, B)]
asInstanceOf final def asInstanceOf[T0] T0 Any
clone protected def clone Object AnyRef
eq final def eq(arg0 : Object) Boolean AnyRef
equals def equals(arg0 : Any) Boolean AnyRef
finalize protected def finalize Unit AnyRef
flatMap def flatMap[B](f : (A) => B) B
foreach def foreach(f : (A) => Unit) Unit
getClass final def getClass Class[Any] AnyRef
hashCode def hashCode Int AnyRef
isInstanceOf final def isInstanceOf[T0] Boolean Any
map def map[B](f : (A) => B) B
ne final def ne(arg0 : Object) Boolean AnyRef
notify final def notify Unit AnyRef
notifyAll final def notifyAll Unit AnyRef
synchronized final def synchronized[T0](arg0 : T0) T0 AnyRef
toString def toString String AnyRef
translate abstract def translate(v : Handle)
Should be implemented to translate a Handle into the desired resource type
A
unsafeClose abstract def unsafeClose(v : Handle)
Should be implemented to dispose of the managed resource [details]
This will be called automatically when the ManagedResource is used in a for-comprehension.
Unit
unsafeCloseIgnoringException def unsafeCloseIgnoringException(v : Handle)
Close ignoring Exception, but not any Throwable
Unit
unsafeCloseQuietly def unsafeCloseQuietly(v : Handle) Unit
unsafeOpen abstract def unsafeOpen
Should be implemented to acquire the managed resource [details]
Clients are discouraged from calling this method directly, as the returned resource must be disposed of manually.
Handle
wait final def wait Unit AnyRef
wait final def wait(arg0 : Long) Unit AnyRef
wait final def wait(arg0 : Long, arg1 : Int) Unit AnyRef
Copyright (c) 2005-2008. All Rights Reserved.