object
ClosableUtils
Type Members
-
type
Closable = AnyRef { def close(): Unit }
-
type
Destroyable = AnyRef { def destroy(): Unit }
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
-
def
attemptClose(closable: Closable): Unit
-
def
attemptCloseAll(closables: Closable*): Unit
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
def
withClosable[T <: Closable, A](factoryMethod: () ⇒ T)(op: (T) ⇒ A): A
-
def
withDestroyable[T <: Destroyable](factoryMethod: () ⇒ T)(op: (T) ⇒ Unit): Unit
Inherited from AnyRef
Inherited from Any
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.