- 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 theBytesReceiver
interface. Theopen(InputStream)
,AbstractConnectableAutomaton.setConnectionStatus(ConnectionStatus)
andAbstractConnectableAutomaton.isOpenable()
methods are your hooks when extending this class.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.io.BytesReceiver
BytesReceiver.ReceiverInputStream
-
Nested 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.ClosedProperty
-
Nested classes/interfaces inherited from interface org.refcodes.component.ConnectableComponent
org.refcodes.component.ConnectableComponent.ConnectableAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.component.ConnectionStatusAccessor
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty
-
Nested 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.InputStreamProperty
-
Nested classes/interfaces inherited from interface org.refcodes.component.OpenedAccessor
org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
-
Nested classes/interfaces inherited from interface org.refcodes.io.TimeoutInputStreamAccessor
TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<B extends TimeoutInputStreamAccessor.TimeoutInputStreamBuilder<?>>, TimeoutInputStreamAccessor.TimeoutInputStreamMutator, TimeoutInputStreamAccessor.TimeoutInputStreamProperty
-
-
Constructor Summary
Constructors Constructor Description AbstractInputStreamByteReceiver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
Determines the number of available datagram from aDatagramTransmitter
.void
close()
protected boolean
isOpenable(InputStream aInputStream)
Checks if is openable.protected void
open(InputStream aInputStream)
Open, seeConnectionOpenable.open(Object)
.byte
receiveByte()
Reads (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, setConnectionStatus
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.refcodes.io.Availability
hasAvailable
-
Methods inherited from interface org.refcodes.io.BytesDestination
receiveBytes
-
Methods inherited from interface org.refcodes.io.BytesReceiver
getInputStream, getInputStream, receiveAllBytes, receiveBytes, receiveBytesWithin, receiveBytesWithin, receiveByteWithin, skip
-
Methods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isOpened
-
Methods inherited from interface org.refcodes.io.Skippable
skipAvailable, skipAvailableExcept, skipAvailableTill, skipAvailableTillSilenceFor, skipAvailableTillSilenceFor, skipAvailableWithin, skipAvailableWithin
-
-
-
-
Method Detail
-
available
public int available() throws IOException
Determines the number of available datagram from aDatagramTransmitter
. Use theDatagramDestination
extenison'sDatagramDestination.receive()
method for retrieving available datagrams.- Specified by:
available
in interfaceAvailability
- Specified by:
available
in 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
public byte receiveByte() throws IOException
Reads (receives) the next byte, in case none byte is available, then this method blocks until one is available.- Specified by:
receiveByte
in interfaceByteDestination
- Specified by:
receiveByte
in 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
public void close() throws IOException
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.refcodes.component.AbstractConnectableAutomaton
- Throws:
IOException
-
open
protected void open(InputStream aInputStream) throws IOException
Open, seeConnectionOpenable.open(Object)
.- Parameters:
aInputStream
- the input stream- Throws:
IOException
- the open exception
-
isOpenable
protected boolean isOpenable(InputStream aInputStream)
Checks if is openable. See alsoConnectionOpenable.ConnectionOpenAutomaton.isOpenable(Object)
.- Parameters:
aInputStream
- the input stream- Returns:
- true, if is openable
-
-