it.unimi.dsi.mg4j.io
Interface SafelyCloseable

All Superinterfaces:
Closeable
All Known Implementing Classes:
FileLinesCollection.FileLinesIterator

Deprecated. Moved to dsiutils.

@Deprecated
public interface SafelyCloseable
extends Closeable

A marker interface for a closeable resource that implements safety measures to make resource tracking easier.

Classes implementing this interface must provide a safety-net finaliser—a finaliser that closes the resource and logs that resource should have been closed.

When the implementing class is abstract, concrete subclasses must call super.close() in their own Closeable.close() method to let the abstract class track correctly the resource. Moreover, they must run super.finalize() in their own finaliser (if any), as finalisation chaining is not automatic.

Note that if a concrete subclass implements readResolve(), it must call super.close(), or actually return this (i.e., the deserialised instance); otherwise, a spurious log could be generated when the deserialised instance is collected.

Since:
1.1
Author:
Sebastiano Vigna

Method Summary
 
Methods inherited from interface java.io.Closeable
close