Class ByteTransmitterDecorator

java.lang.Object
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.io.AbstractBytesTransmitter
org.refcodes.io.ByteTransmitterDecorator
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, ByteSource, BytesSource, BytesTransmitter, ByteTransmitter, Transmittable, org.refcodes.mixin.OutputStreamAccessor

public class ByteTransmitterDecorator extends AbstractBytesTransmitter implements BytesTransmitter
The ByteTransmitterDecorator decorates a BytesSource with the additional methods of a BytesTransmitter making it easy to use a BytesSource wherever a BytesTransmitter is expected.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.io.BytesTransmitter

    BytesTransmitter.TransmitterOutputStream

    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.component.Flushable

    org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>

    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.mixin.OutputStreamAccessor

    org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<B extends org.refcodes.mixin.OutputStreamAccessor.OutputStreamBuilder<?>>, org.refcodes.mixin.OutputStreamAccessor.OutputStreamMutator, org.refcodes.mixin.OutputStreamAccessor.OutputStreamProperty
  • Constructor Summary

    Constructors
    Constructor
    Description
    Instantiates a new byte sender decorator.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    void
    void
    transmitAllBytes(byte[] aBytes)
    Writes (sends) a byte block.
    void
    transmitByte(byte aByte)
    Writes (sends) a byte.
    void
    transmitBytes(byte[] aBytes, 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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.refcodes.io.BytesTransmitter

    getOutputStream

    Methods inherited from interface org.refcodes.component.Closable

    closeIn, closeQuietly, closeUnchecked

    Methods inherited from interface org.refcodes.component.Closable.CloseAutomaton

    isClosable

    Methods inherited from interface org.refcodes.component.ClosedAccessor

    isClosed

    Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor

    getConnectionStatus, isOpened

    Methods inherited from interface org.refcodes.component.Flushable

    flushUnchecked, isFlushable
  • Constructor Details

    • ByteTransmitterDecorator

      public ByteTransmitterDecorator(BytesSource aByteConsumer)
      Instantiates a new byte sender decorator.
      Parameters:
      aByteConsumer - the byte consumer
  • Method Details

    • transmitByte

      public void transmitByte(byte aByte) throws IOException
      Writes (sends) a byte.
      Specified by:
      transmitByte in interface ByteSource
      Specified by:
      transmitByte in interface BytesSource
      Parameters:
      aByte - The byte to be pushed.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • transmitAllBytes

      public void transmitAllBytes(byte[] aBytes) throws IOException
      Writes (sends) a byte block.
      Specified by:
      transmitAllBytes in interface BytesSource
      Parameters:
      aBytes - The byte to be pushed.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • transmitBytes

      public void transmitBytes(byte[] aBytes, int aOffset, int aLength) throws IOException
      Writes (sends) a byte block.
      Specified by:
      transmitBytes in interface BytesSource
      Specified by:
      transmitBytes in interface BytesTransmitter
      Overrides:
      transmitBytes in class AbstractBytesTransmitter
      Parameters:
      aBytes - 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:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface ByteTransmitter
      Specified by:
      flush in interface Flushable
      Specified by:
      flush in interface org.refcodes.component.Flushable
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface org.refcodes.component.Closable
      Overrides:
      close in class org.refcodes.component.AbstractConnectableAutomaton
      Throws:
      IOException