public class CloseableHolder<T extends Closeable> extends Object implements Closeable
For example, in the following code, if writeSomethingToTempFile() throws an exception, the tempFile will be deleted, but otherwise the ownership is passed to doSomethingAsyncWithTempFile().
try (CloseableHolder<NamedTemporaryFile> tempFile = new CloseableHolder<>(createTempFile())) {
writeSomethingToTempFile(tempFile.get());
doSomethingAsyncWithTempFile(tempFile.release());
}
| Constructor and Description |
|---|
CloseableHolder(T value) |
public CloseableHolder(T value)
public T get()
public T release()
public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOException