Package org.refcodes.io
Class ByteSenderDecorator
- java.lang.Object
-
- org.refcodes.component.AbstractConnectableAutomaton
-
- org.refcodes.io.AbstractByteSender
-
- org.refcodes.io.ByteSenderDecorator
-
- 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
,ByteBlockConsumer
,ByteBlockSender
,ByteConsumer
,ByteDatagramConsumer
,ByteDatagramSender
,ByteSender
,Sendable
public class ByteSenderDecorator extends AbstractByteSender implements ByteSender
TheByteSenderDecorator
decorates aByteConsumer
with the additional methods of aByteSender
making it easy to use aByteConsumer
wherever aByteSender
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 ByteSenderDecorator(ByteConsumer aByteConsumer)
Instantiates a new byte sender decorator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
void
writeDatagram(byte aDatagram)
Writes (sends) a byte.void
writeDatagrams(byte[] aDatagrams)
Writes (sends) a byte block.void
writeDatagrams(byte[] aDatagrams, int aOffset, int aLength)
Writes (sends) a byte block.-
Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton
getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
-
Methods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isConnectionOpened
-
-
-
-
Constructor Detail
-
ByteSenderDecorator
public ByteSenderDecorator(ByteConsumer aByteConsumer)
Instantiates a new byte sender decorator.- Parameters:
aByteConsumer
- the byte consumer
-
-
Method Detail
-
writeDatagram
public void writeDatagram(byte aDatagram) throws org.refcodes.component.OpenException
Writes (sends) a byte.- Specified by:
writeDatagram
in interfaceByteConsumer
- Specified by:
writeDatagram
in interfaceByteDatagramConsumer
- Parameters:
aDatagram
- The byte to be pushed.- Throws:
org.refcodes.component.OpenException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
writeDatagrams
public void writeDatagrams(byte[] aDatagrams) throws org.refcodes.component.OpenException
Writes (sends) a byte block.- Specified by:
writeDatagrams
in interfaceByteBlockConsumer
- Specified by:
writeDatagrams
in interfaceByteConsumer
- Parameters:
aDatagrams
- The byte to be pushed.- Throws:
org.refcodes.component.OpenException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
writeDatagrams
public void writeDatagrams(byte[] aDatagrams, int aOffset, int aLength) throws org.refcodes.component.OpenException
Writes (sends) a byte block.- Specified by:
writeDatagrams
in interfaceByteBlockConsumer
- Specified by:
writeDatagrams
in interfaceByteSender
- Overrides:
writeDatagrams
in classAbstractByteSender
- Parameters:
aDatagrams
- The byte to be pushed.aOffset
- The offset from which to take the data.aLength
- The number of elements to push starting at the given offset.- Throws:
org.refcodes.component.OpenException
- Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
-
flush
public void flush() throws org.refcodes.component.OpenException
- Specified by:
flush
in interfaceByteSender
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
org.refcodes.component.OpenException
-
close
public void close() throws org.refcodes.component.CloseException
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.refcodes.component.AbstractConnectableAutomaton
- Throws:
org.refcodes.component.CloseException
-
-