resource

ManagedResource

trait ManagedResource [+R] extends AnyRef

This class encapsulates a method of ensuring a resource is opened/closed during critical stages of its lifecycle. It is monadic in nature, although not a monad, and provides several combinators to use with other managed resources.

For example:

val x = managed(newResource)
val y = managed(newResource)
val z : ManagedResource[Z] = x and y map { case (x,y) => f(x,y) }

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. ManagedResource
  2. AnyRef
  3. Any
Visibility
  1. Public
  2. All

Abstract Value Members

  1. def ! : R @scala.util.continuations.cpsParam[Unit,Unit]

    Accesses this resource inside a suspendable CPS block

    Accesses this resource inside a suspendable CPS block

    Attributes
    abstract
  2. def acquireAndGet [B] (f: (R) ⇒ B): B

    Acquires the resource for the Duration of a given function, The resource will automatically be opened and closed.

    Acquires the resource for the Duration of a given function, The resource will automatically be opened and closed. The result will be returned immediately, except in the case of an error. Upon error, the resource will be closed, and then the originating exception will be thrown.

    Note: This method will throw the last exception encountered by the managed resource, whatever this happens to be.

    f

    A function to execute against the handle returned by the resource

    returns

    The result of the passed in function

    Attributes
    abstract
  3. def acquireFor [B] (f: (R) ⇒ B): Either[List[Throwable], B]

    Aquires the resource for the Duration of a given function, The resource will automatically be opened and closed.

    Aquires the resource for the Duration of a given function, The resource will automatically be opened and closed. The result will be returned immediately in an Either container. This container will hold all errors, if any occurred during execution, or the resulting value.

    f

    A function to execute against the raw resource.

    returns

    The result of the function (right) or the list of exceptions seen during the processing of the resource (left).

    Attributes
    abstract
  4. def and [B] (that: ManagedResource[B]): ManagedResource[(R, B)]

    Creates a new resource that is the aggregation of this resource and another.

    Creates a new resource that is the aggregation of this resource and another.

    that

    The other resource

    @return A resource that is a tupled combination of this and that.

    Attributes
    abstract
  5. def flatMap [B, To] (f: (R) ⇒ B)(implicit translator: CanSafelyFlatMap[B, To]): To

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    f

    The transformation function to apply against the raw resource.

    translator

    The translation implementation used to determine if we can extract from the ManagedResource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  6. def foreach (f: (R) ⇒ Unit): Unit

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning. Note: This method *will* open and close the resource, performing the body of the method immediately.

    f

    The function to apply against the raw resource.

    Attributes
    abstract
  7. def map [B, To] (f: (R) ⇒ B)(implicit translator: CanSafelyMap[B, To]): To

    This method is used to perform operations on a resource while the resource is open.

    This method is used to perform operations on a resource while the resource is open.

    f

    The transformation function to apply against the raw resource.

    translator

    The translation implementation used to determine if we can extract from the ManagedResource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  8. def reflect [B] : R @util.continuations.package.cps[Either[List[Throwable],B]]

    Reflects the resource for use in a continuation.

    Reflects the resource for use in a continuation. This method is designed to be used inside a scala.resource.withResources call.

    For example:

    import scala.resource._
    withResources {
      val output = managed(new FileInputStream("output.txt")).reflect[Unit]
      for(i <- 1 to 10) {
        val input = managed(new FileInputStream("sample"+i+".txt")).reflect[Unit]
        input lines foreach (output writeLine _)
      }
    }
    

    returns

    The raw resource, with appropriate continuation-context annotations.

    Attributes
    abstract
  9. def toTraversable [B] (f: (R) ⇒ TraversableOnce[B]): Traversable[B]

    This method creates a Traversable in which all performed methods are done within the context of an "open" resource.

    This method creates a Traversable in which all performed methods are done within the context of an "open" resource. Note: Every iteration will attempt to open and close the resource!

    f

    A function that transforms the raw resource into an Iterator of elements of type B.

    returns

    A Traversable of elements of type B.

    Attributes
    abstract

Concrete Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  7. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  9. def equals (arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def flatMap [B] (f: (R) ⇒ B): ManagedResource[B]

    [use case] This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    [use case]

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    f

    The transformation function to apply against the raw resource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  12. def flatMap [B] (f: (R) ⇒ Traversable[B]): Traversable[B]

    [use case] This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    [use case]

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    f

    The transformation function to apply against the raw resource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  13. def flatMap [B] (f: (R) ⇒ ManagedResource[B]): ManagedResource[B]

    [use case] This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    [use case]

    This method is used to immediately perform operations on a resource while it is open, ensuring the resource is closed before returning.

    f

    The transformation function to apply against the raw resource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  14. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef
  15. def hashCode (): Int

    Definition Classes
    AnyRef → Any
  16. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  17. def map [B] (f: (R) ⇒ B): ManagedResource[B]

    [use case] This method is used to perform operations on a resource while the resource is open.

    [use case]

    This method is used to perform operations on a resource while the resource is open.

    f

    The transformation function to apply against the raw resource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  18. def map [B] (f: (R) ⇒ Traversable[B]): Traversable[B]

    [use case] This method is used to perform operations on a resource while the resource is open.

    [use case]

    This method is used to perform operations on a resource while the resource is open.

    f

    The transformation function to apply against the raw resource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  19. def map [B] (f: (R) ⇒ ManagedResource[B]): ManagedResource[B]

    [use case] This method is used to perform operations on a resource while the resource is open.

    [use case]

    This method is used to perform operations on a resource while the resource is open.

    f

    The transformation function to apply against the raw resource.

    returns

    A new ManagedResource with the translated type or some other type if an appropriate translator was found.

    Attributes
    abstract
  20. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  21. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  22. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  23. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  24. def toString (): String

    Definition Classes
    AnyRef → Any
  25. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  26. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  27. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any