org.omnifaces.utils.function.ThrowingAutoCloseable Maven / Gradle / Ivy
package org.omnifaces.utils.function;
/**
* Functional helper-interface to allow for use of closeable resources that don't implement AutoCloseable in a try-with-resources statement.
*
*
* This interface can be used with any object instance that doesn't implement AutoCloseable, but does have a close or similar method that needs to be
* called to free up resources. This functional interface is usable for any close method that throws a more specific exception than AutoCloseable
* defines. For methods that don't throw any exceptions, see @link{ExceptionLessAutoCloseable}.
*
*
*
* Example:
*
* CloseableResource resource = ...
* try (ThrowingAutoCloseable<IOException> eac = resource::close) {
* // Use resource
* }
* catch(IOException e) {
* // Handle exception
* }
*
*
*/
@FunctionalInterface
public interface ThrowingAutoCloseable extends AutoCloseable {
@Override
void close() throws E;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy