- Type Parameters:
H- The type of the handle.
- All Known Subinterfaces:
ClosableHandle.CloseAutomatonHandle<H>,ConnectionComponentHandle<H,,CON> ConnectionComponentHandle.ConnectionAutomatonHandle<H,,CON> LinkComponentHandle<H>,LinkComponentHandle.LinkAutomatonHandle<H>
public interface ClosableHandle<H>
The
ClosableHandle interface defines those methods related to the
handle based close life-cycle.
The handle reference requires the Closable interface to be
implemented.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceTheClosableHandle.CloseAutomatonHandleinterface defines those methods related to the handle based close life-cycle. -
Method Summary
Modifier and TypeMethodDescriptionvoidCloses or pre-closes (flush) the component identified by the given handle.default voidcloseUnchecked(H aHandle) Closes the component by callingclose(Object)without you to require catching anIOException.booleanhasClosable(H aHandle) Determines whether the handle reference is closable by implementing theClosableinterface.
-
Method Details
-
hasClosable
Determines whether the handle reference is closable by implementing theClosableinterface.- Parameters:
aHandle- The handle to test whether the reference provides the according functionality.- Returns:
- True in case the reference provides the according functionality.
- Throws:
UnknownHandleRuntimeException- in case the handle is unknown.
-
close
Closes or pre-closes (flush) the component identified by the given handle. Throws aIOExceptionas upon close we may have to do things like flushing buffers which can fail (and would otherwise fail unhandled or even worse unnoticed).- Parameters:
aHandle- The handle identifying the component.- Throws:
IOException- Thrown in case closing or pre-closing (flushing) fails.UnknownHandleRuntimeException- in case the given handle is unknown.UnsupportedHandleOperationRuntimeException- in case the reference of the handle does not support the requested operation.IllegalHandleStateChangeRuntimeException- Thrown in case a state change is not possible due to the current state the referenced component is in.
-
closeUnchecked
Closes the component by callingclose(Object)without you to require catching anIOException.- Parameters:
aHandle- The handle identifying the component.- Throws:
org.refcodes.exception.RuntimeIOException- encapsulates the aCause and is thrown upon encountering aIOExceptionexception
-