napperley
08/10/2021, 2:24 AMinterface Closable {
val isClosed: Boolean
fun close()
}
class ResourceX : Closable {
val isClosed: Boolean
get() = _isClosed
private var _isClosed = false
fun close() {
if (!_isClosed) {
// Do cleanup here.
_isClosed = true
}
}
fun operation() {
if (_isClosed) throw IllegalStateException("ResourceX is closed")
// Do stuff related to the operation here.
}
}
ephemient
08/10/2021, 2:44 AMnapperley
08/10/2021, 2:46 AMClosable
and AutoClosable
interfaces.ephemient
08/10/2021, 3:11 AM