Module org.refcodes.io
Package org.refcodes.io
Class TransmitterDecorator<DATA extends Serializable>
- java.lang.Object
-
- org.refcodes.component.AbstractConnectableAutomaton
-
- org.refcodes.io.AbstractDatagramsTransmitter<DATA>
-
- org.refcodes.io.TransmitterDecorator<DATA>
-
- Type Parameters:
DATA
- the generic type
- All Implemented Interfaces:
Flushable
,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.Flushable
,org.refcodes.component.OpenedAccessor
,DatagramSource<DATA>
,DatagramsSource<DATA>
,DatagramsTransmitter<DATA>
,DatagramTransmitter<DATA>
,Transmittable
public class TransmitterDecorator<DATA extends Serializable> extends AbstractDatagramsTransmitter<DATA> implements DatagramsTransmitter<DATA>
TheTransmitterDecorator
decorates aDatagramsSource
with the additional methods of aDatagramsTransmitter
making it easy to use aDatagramsSource
wherever aDatagramsTransmitter
is expected.
-
-
Nested Class Summary
-
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
-
-
Constructor Summary
Constructors Constructor Description TransmitterDecorator(DatagramsSource<DATA> aConsumer)
Instantiates a new sender decorator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
void
transmit(DATA aDatagram)
Writes (sends) a datagram to a listeningDatagramReceiver
.void
transmit(DATA[] aDatagrams, int aOffset, int aLength)
Write datagrams.void
transmitAll(DATA[] aDatagrams)
Writes (sends) a datagram block to a listeningDatagramReceiver
orDatagramsReceiver
.-
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.component.Closable
closeIn, closeQuietly, closeUnchecked
-
-
-
-
Constructor Detail
-
TransmitterDecorator
public TransmitterDecorator(DatagramsSource<DATA> aConsumer)
Instantiates a new sender decorator.- Parameters:
aConsumer
- the consumer
-
-
Method Detail
-
transmit
public void transmit(DATA aDatagram) throws IOException
Writes (sends) a datagram to a listeningDatagramReceiver
.- Specified by:
transmit
in interfaceDatagramSource<DATA extends Serializable>
- Specified by:
transmit
in interfaceDatagramsSource<DATA extends Serializable>
- Parameters:
aDatagram
- The datagram to be pushed to the receivingDatagramSource
.- Throws:
IOException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
transmitAll
public void transmitAll(DATA[] aDatagrams) throws IOException
Writes (sends) a datagram block to a listeningDatagramReceiver
orDatagramsReceiver
.- Specified by:
transmitAll
in interfaceDatagramsSource<DATA extends Serializable>
- Parameters:
aDatagrams
- The datagram to be pushed to the receivingDatagramReceiver
orDatagramsReceiver
.- Throws:
IOException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
transmit
public void transmit(DATA[] aDatagrams, int aOffset, int aLength) throws IOException
Write datagrams.- Specified by:
transmit
in interfaceDatagramsSource<DATA extends Serializable>
- Specified by:
transmit
in interfaceDatagramsTransmitter<DATA extends Serializable>
- Parameters:
aDatagrams
- the datagramaOffset
- the offsetaLength
- the length- Throws:
IOException
- the open exception
-
flush
public void flush() throws IOException
- Specified by:
flush
in interfaceDatagramTransmitter<DATA extends Serializable>
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.refcodes.component.AbstractConnectableAutomaton
- Throws:
IOException
-
-