Class TransmitterDecorator<DATA extends Serializable>

java.lang.Object
org.refcodes.component.AbstractConnectable
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>
The TransmitterDecorator decorates a DatagramsSource with the additional methods of a DatagramsTransmitter making it easy to use a DatagramsSource wherever a DatagramsTransmitter 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

    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
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    void
    void
    void
    transmit(DATA aDatagram)
    Writes (sends) a datagram to a listening DatagramReceiver.
    void
    transmit(DATA[] aDatagrams)
    Writes (sends) a datagram block to a listening DatagramReceiver or DatagramsReceiver.
    void
    transmit(DATA[] aDatagrams, int aOffset, int aLength)
    Write datagrams.

    Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton

    getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus

    Methods inherited from class org.refcodes.component.AbstractConnectable

    isThrownAsOfAlreadyClosed

    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

    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

    • TransmitterDecorator

      public TransmitterDecorator(DatagramsSource<DATA> aConsumer)
      Instantiates a new sender decorator.
      Parameters:
      aConsumer - the consumer
  • Method Details

    • transmit

      public void transmit(DATA aDatagram) throws IOException
      Writes (sends) a datagram to a listening DatagramReceiver.
      Parameters:
      aDatagram - The datagram to be pushed to the receiving DatagramSource.
      Throws:
      IOException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
    • transmit

      public void transmit(DATA[] aDatagrams) throws IOException
      Writes (sends) a datagram block to a listening DatagramReceiver or DatagramsReceiver.
      Parameters:
      aDatagrams - The datagram to be pushed to the receiving DatagramReceiver or DatagramsReceiver.
      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.
      Parameters:
      aDatagrams - the datagram
      aOffset - the offset
      aLength - the length
      Throws:
      IOException - the open exception
    • flush

      public void flush() throws IOException
      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