Packages

o

com.mchange.sc.v1.util

ClosableUtils

object ClosableUtils

A bug with Scala's duck typing implementation allows methods of non-public classes that implement public interfaces (or override public base class methods) to get invoked directly on the non-public class' member (which is illegal and provokes an IllegalAccessException) rather than indirectly via the public parent class or interface method. The safeClose / ReflectUtils stuff is to work around that. When Scala's duck type bugs are fixed, this should be removed.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClosableUtils
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Closable = AnyRef { def close(): Unit }
  2. type Destroyable = AnyRef { def destroy(): Unit }

Value Members

  1. def attemptClose(c1: Closable, c2: Closable, closables: Closable*): Unit
  2. def attemptClose(closable: Closable): Unit
  3. def attemptCloseAll(closables: Closable*): Unit
  4. def withClosable[T <: Closable, A](factoryMethod: () ⇒ T)(op: (T) ⇒ A): A
  5. def withDestroyable[T <: Destroyable](factoryMethod: () ⇒ T)(op: (T) ⇒ Unit): Unit