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
- Alphabetic
- By Inheritance
- Resource
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def open(input: I): OpenResult[R]
Opens the specified resource.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def contramap[II](f: (II) => I): Resource[II, R]
- def econtramap[II](f: (II) => OpenResult[I]): Resource[II, R]
- def emap[RR](f: (R) => OpenResult[RR]): Resource[I, RR]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def map[RR](f: (R) => RR): Resource[I, RR]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- 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 thatf
is expected to be safe - it cannot throw but should instead wrap all errors in a ProcessResult.
Deprecated Value Members
- def contramapResult[II](f: (II) => OpenResult[I]): Resource[II, R]
- Annotations
- @deprecated
- Deprecated
(Since version 0.3.1) Use econtramap instead
- def mapResult[RR](f: (R) => OpenResult[RR]): Resource[I, RR]
- Annotations
- @deprecated
- Deprecated
(Since version 0.3.1) Use emap instead