Packages

trait Resource[I, R] extends AnyRef

Represents a resource that can be opened and worked on.

The purpose of this trait is to abstract over the notion of "things that can be opened", such as files, URLs... Default instances are provided for java.io types - java.io.File, for example, has instances for both opening it for reading and for writing.

I

type of the resource itself (eg java.io.File).

R

type of the opened resource (eg java.io.InputStream)

Self Type
Resource[I, R]
Source
Resource.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Resource
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def open(input: I): OpenResult[R]

    Opens the specified resource.

Concrete Value Members

  1. def contramap[II](f: (II) => I): Resource[II, R]
  2. def econtramap[II](f: (II) => OpenResult[I]): Resource[II, R]
  3. def emap[RR](f: (R) => OpenResult[RR]): Resource[I, RR]
  4. def map[RR](f: (R) => RR): Resource[I, RR]
  5. def withResource[O](input: I)(f: (R) => ProcessResult[O])(implicit c: Closeable[R]): ResourceResult[O]

    Opens the specified resource and applies the specified function to its content.

    Opens the specified resource and applies the specified function to its content.

    The resource will be closed regardless of whether f fails. Note that f is expected to be safe - it cannot throw but should instead wrap all errors in a ProcessResult.

Deprecated Value Members

  1. def contramapResult[II](f: (II) => OpenResult[I]): Resource[II, R]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.3.1) Use econtramap instead

  2. def mapResult[RR](f: (R) => OpenResult[RR]): Resource[I, RR]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.3.1) Use emap instead