public interface Releasable
For example, the creation of a ResettableInputStream would entail physically opening a file. If the opened file is
meant to be closed only (in a finally block) by the very same code block that created it, then it is necessary that the release
method must not be called while the execution is made in other stack frames.
In such case, as other stack frames may inadvertently or indirectly call the close method of the stream, the creator of the
stream would need to explicitly disable the accidental closing via ResettableInputStream#disableClose(), so that the
release method becomes the only way to truly close the opened file.
| Modifier and Type | Method and Description |
|---|---|
void |
release()
Releases the allocated resource.
|
static void |
release(Closeable is,
org.slf4j.Logger log)
Releases the given
Closeable especially if it was an instance of Releasable. |
static void release(Closeable is, org.slf4j.Logger log)
Closeable especially if it was an instance of Releasable.
For example, the creation of a ResettableInputStream would entail physically opening a file. If the opened file is
meant to be closed only (in a finally block) by the very same code block that created it, then it is necessary that the
release method must not be called while the execution is made in other stack frames.
In such case, as other stack frames may inadvertently or indirectly call the close method of the stream, the creator of the
stream would need to explicitly disable the accidental closing via ResettableInputStream#disableClose(), so that
the release method becomes the only way to truly close the opened file.
void release()
Closeable resource to be not unintentionally released owing
to the calling of the Closeable.close() methods by implementation deep down in the call stack.
For example, the creation of a ResettableInputStream would entail physically opening a file. If the opened file is
meant to be closed only (in a finally block) by the very same code block that created it, then it is necessary that the
release method must not be called while the execution is made in other stack frames.
In such case, as other stack frames may inadvertently or indirectly call the close method of the stream, the creator of the
stream would need to explicitly disable the accidental closing via ResettableInputStream#disableClose(), so that
the release method becomes the only way to truly close the opened file.
Copyright © 2023. All rights reserved.