object ResourceUtil
Utility code for doing proper resource management. A lot of it is based on https://medium.com/@dkomanov/scala-try-with-resources-735baad0fd7d
- Alphabetic
- By Inheritance
- ResourceUtil
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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() @IntrinsicCandidate()
- def closeAndAddSuppressed(e: Option[Throwable], resource: AutoCloseable): Unit
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withResource[T <: AutoCloseable, V](r: => T)(f: (T) => V): V
The given function is applied to the resource and returned.
The given function is applied to the resource and returned. Resource closing is done automatically after the function is applied. This will rethrow any exception thrown by the given function or the call to the resource's close method, but the resource will be attempted to close no matter what.
- r
resource that will be used to derive some value and will be closed automatically in the end
- f
function that will be applied to the resource and can possibly throw exceptions
- returns
the result of the given function applied to the resource
- Annotations
- @SuppressWarnings()
- def withResourceEither[T <: AutoCloseable, V](r: => T)(f: (T) => V): Either[Throwable, V]
Does resource management the same way as withResource, but returns an Either instead of throwing exceptions.
Does resource management the same way as withResource, but returns an Either instead of throwing exceptions.
- r
resource that will be used to derive some value and will be closed automatically in the end
- f
function that will be applied to the resource and can possibly throw exceptions
- returns
Either object that contains a Right with the mapped value or a Left with the thrown exception from either the function or the call to the resource's close method.
- def withResourceEitherT[T <: AutoCloseable, E, V, F[_]](r: => T)(f: (T) => EitherT[Future, E, V])(implicit ec: ExecutionContext): EitherT[Future, E, V]
- def withResourceFuture[T <: AutoCloseable, V](r: => T)(f: (T) => Future[V])(implicit ec: ExecutionContext): Future[V]
- def withResourceM[M[_]]: ResourceMonadApplied[M]