java.lang.Object
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.io.AbstractInputStreamByteReceiver
- All Implemented Interfaces:
org.refcodes.component.Closable,org.refcodes.component.Closable.CloseAutomaton,org.refcodes.component.ClosedAccessor,org.refcodes.component.ConnectableComponent,org.refcodes.component.ConnectableComponent.ConnectableAutomaton,org.refcodes.component.ConnectionStatusAccessor,org.refcodes.component.OpenedAccessor,Availability,ByteDestination,ByteReceiver,BytesDestination,BytesReceiver,Receivable,Skippable,TimeoutInputStreamAccessor,org.refcodes.mixin.InputStreamAccessor
- Direct Known Subclasses:
BidirectionalStreamConnectionByteTransceiverImpl,InputStreamConnectionByteReceiverImpl
public abstract class AbstractInputStreamByteReceiver
extends org.refcodes.component.AbstractConnectableAutomaton
implements BytesReceiver
Abstract implementation of the
BytesReceiver interface. The
open(InputStream), AbstractConnectableAutomaton.setConnectionStatus(ConnectionStatus)
and AbstractConnectableAutomaton.isOpenable() methods are your hooks when extending this class.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.io.BytesReceiver
BytesReceiver.ReceiverInputStreamNested classes/interfaces inherited from interface org.refcodes.component.Closable
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>Nested classes/interfaces inherited from interface org.refcodes.component.ClosedAccessor
org.refcodes.component.ClosedAccessor.ClosedMutator, org.refcodes.component.ClosedAccessor.ClosedPropertyNested classes/interfaces inherited from interface org.refcodes.component.ConnectableComponent
org.refcodes.component.ConnectableComponent.ConnectableAutomatonNested classes/interfaces inherited from interface org.refcodes.component.ConnectionStatusAccessor
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusPropertyNested classes/interfaces inherited from interface org.refcodes.mixin.InputStreamAccessor
org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<B extends org.refcodes.mixin.InputStreamAccessor.InputStreamBuilder<?>>, org.refcodes.mixin.InputStreamAccessor.InputStreamMutator, org.refcodes.mixin.InputStreamAccessor.InputStreamPropertyNested classes/interfaces inherited from interface org.refcodes.component.OpenedAccessor
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedPropertyNested classes/interfaces inherited from interface org.refcodes.io.TimeoutInputStreamAccessor
TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B extends TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<?>>, TimeoutInputStreamAccessor.TimeoutInputStreamMutator, TimeoutInputStreamAccessor.TimeoutInputStreamProperty -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintDetermines the number of available datagram from aDatagramTransmitter.voidclose()protected booleanisOpenable(InputStream aInputStream) Checks if is openable.protected voidopen(InputStream aInputStream) Open, seeConnectionOpenable.open(Object).byteReads (receives) the next byte, in case none byte is available, then this method blocks until one is available.Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton
getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatusMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.refcodes.io.Availability
hasAvailableMethods inherited from interface org.refcodes.io.BytesDestination
receiveBytesMethods inherited from interface org.refcodes.io.BytesReceiver
getInputStream, getInputStream, receiveAllBytes, receiveBytes, receiveBytesWithin, receiveBytesWithin, receiveByteWithin, skipMethods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUncheckedMethods inherited from interface org.refcodes.component.Closable.CloseAutomaton
isClosableMethods inherited from interface org.refcodes.component.ClosedAccessor
isClosedMethods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpenedMethods inherited from interface org.refcodes.io.Skippable
skipAvailable, skipAvailableExcept, skipAvailableTill, skipAvailableTillSilenceFor, skipAvailableTillSilenceFor, skipAvailableWithin, skipAvailableWithin, skipAvailableWithin
-
Constructor Details
-
AbstractInputStreamByteReceiver
public AbstractInputStreamByteReceiver()
-
-
Method Details
-
available
Determines the number of available datagram from aDatagramTransmitter. Use theDatagramDestinationextenison'sDatagramDestination.receive()method for retrieving available datagrams.- Specified by:
availablein interfaceAvailability- Specified by:
availablein interfaceSkippable- Returns:
- The number of datagrams ready to be retrieved .
- Throws:
IOException- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
receiveByte
Reads (receives) the next byte, in case none byte is available, then this method blocks until one is available.- Specified by:
receiveBytein interfaceByteDestination- Specified by:
receiveBytein interfaceBytesDestination- Returns:
- The next byte available .
- Throws:
IOException- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.EOFException- Signals that an end of file or end of stream has been reached unexpectedly during input.
-
close
- Specified by:
closein interfaceorg.refcodes.component.Closable- Overrides:
closein classorg.refcodes.component.AbstractConnectableAutomaton- Throws:
IOException
-
open
Open, seeConnectionOpenable.open(Object).- Parameters:
aInputStream- the input stream- Throws:
IOException- the open exception
-
isOpenable
Checks if is openable. See alsoConnectionOpenable.ConnectionOpenAutomaton.isOpenable(Object).- Parameters:
aInputStream- the input stream- Returns:
- true, if is openable
-