Opens a given resource, returning a handle to execute against during the "session" of the resource being open.
Opens a given resource, returning a handle to execute against during the "session" of the resource being open.
Closes a resource using the handle.
Closes a resource using the handle. This method will throw any exceptions normally occuring during the close of a resource.
Accesses this resource inside a suspendable CPS block
Accesses this resource inside a suspendable CPS block
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.
A function to execute against the handle returned by the resource
The result of the passed in function
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.
A function to execute against the raw resource.
The result of the function (right) or the list of exceptions seen during the processing of the resource (left).
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.
The other resource
@return A resource that is a tupled combination of this and that.
[use case] 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.
The transformation function to apply against the raw resource.
A new ManagedResource with the translated type or some other type if an appropriate translator was found.
[use case] 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.
The transformation function to apply against the raw resource.
A new ManagedResource with the translated type or some other type if an appropriate translator was found.
[use case] 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.
The transformation function to apply against the raw resource.
A new ManagedResource with the translated type or some other type if an appropriate translator was found.
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.
The transformation function to apply against the raw resource.
A new ManagedResource with the translated type or some other type if an appropriate translator was found.
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.
The function to apply against the raw resource.
This checks to see if an exception should not be caught, under any circumstances.
This checks to see if an exception should not be caught, under any circumstances. These usually denote fatal program flaws.
These are a list of exceptions we *have* to rethrow, regardless of a users desires to ensure that thread/return behavior in scala is accurate.
These are a list of exceptions we *have* to rethrow, regardless of a users desires to ensure that thread/return behavior in scala is accurate.
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.
The transformation function to apply against the raw resource.
A new ManagedResource with the translated type or some other type if an appropriate translator was found.
Accesses this resource inside a suspendable CPS block
Accesses this resource inside a suspendable CPS block
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 _) } }
The raw resource, with appropriate continuation-context annotations.
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!
A Traversable of elements of type B.
Abstract class implementing most of the managed resource features in terms of an open and close method. This is a refinement over ManagedResourceOperations as it defines the acquireForMethod generically using the scala.util.control.Exception API.