Module org.omnifaces.utils
Package org.omnifaces.utils.function
Interface ThrowingAutoCloseable<E extends Exception>
- All Superinterfaces:
AutoCloseable
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public interface ThrowingAutoCloseable<E extends Exception>
extends AutoCloseable
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
}
-
Method Summary
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
E extends Exception
-