- All Superinterfaces:
Flushable
- All Known Subinterfaces:
CompositeComponent,CompositeComponent.ExtendedCompositeComponent<CTX,CON>,Flushable.FlushBuilder<B>
- All Known Implementing Classes:
CompositeComponentImpl,CompositeComponentImpl.ExtendedCompositeComponentImpl
public interface Flushable extends Flushable
This mixin might be implemented by a component in order to provide flush
facilities. A dedicated interface has been created just extending Java's
Flushable interface to lift it onto the component's layer.
ATTENTION: When implementing flush functionality, use this Flushable,
though when testing for reset functionality, use Flushable
(instanceof)!
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceFlushable.FlushBuilder<B extends Flushable.FlushBuilder<B>>The Interface FlushBuilder. -
Method Summary
Modifier and Type Method Description voidflush()default voidflushUnchecked()Flushes the component by callingflush()without you to require catching aIOException.default booleanisFlushable()Determines whether the implementing instance can safely be flushed.
-
Method Details
-
flush
- Specified by:
flushin interfaceFlushable- Throws:
IOException
-
flushUnchecked
default void flushUnchecked()Flushes the component by callingflush()without you to require catching aIOException.- Throws:
org.refcodes.exception.IORuntimeException- encapsulates the cause and is thrown upon encountering aIOExceptionexception
-
isFlushable
default boolean isFlushable()Determines whether the implementing instance can safely be flushed. When false is returned, then callingflush()would result in anIOExceptionexception to be thrown.- Returns:
- True in case
flush()can be called without throwing anIOException.
-