Class SenderDecorator<DATA extends Serializable>

  • 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, BlockConsumer<DATA>, BlockSender<DATA>, Consumer<DATA>, DatagramConsumer<DATA>, DatagramSender<DATA>, Sendable, Sender<DATA>


    public class SenderDecorator<DATA extends Serializable>
    extends AbstractSender<DATA>
    implements Sender<DATA>
    The SenderDecorator decorates a Consumer with the additional methods of a Sender making it easy to use a Consumer wherever a Sender 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
      SenderDecorator​(Consumer<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 writeDatagram​(DATA aDatagram)
      Writes (sends) a datagram to a listening DatagramReceiver.
      void writeDatagrams​(DATA[] aDatagrams)
      Writes (sends) a datagram block to a listening DatagramReceiver or BlockReceiver.
      void writeDatagrams​(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 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, isConnectionOpened
      • Methods inherited from interface org.refcodes.component.Flushable

        flushUnchecked, isFlushable
      • Methods inherited from interface org.refcodes.component.OpenedAccessor

        isOpened
    • Constructor Detail

      • SenderDecorator

        public SenderDecorator​(Consumer<DATA> aConsumer)
        Instantiates a new sender decorator.
        Parameters:
        aConsumer - the consumer
    • Method Detail

      • writeDatagrams

        public void writeDatagrams​(DATA[] aDatagrams,
                                   int aOffset,
                                   int aLength)
                            throws org.refcodes.component.OpenException
        Write datagrams.
        Specified by:
        writeDatagrams in interface BlockConsumer<DATA extends Serializable>
        Specified by:
        writeDatagrams in interface Sender<DATA extends Serializable>
        Parameters:
        aDatagrams - the datagram
        aOffset - the offset
        aLength - the length
        Throws:
        org.refcodes.component.OpenException - the open exception
      • flush

        public void flush​()
                   throws org.refcodes.component.OpenException
        Specified by:
        flush in interface Flushable
        Specified by:
        flush in interface org.refcodes.component.Flushable
        Specified by:
        flush in interface Sender<DATA extends Serializable>
        Throws:
        org.refcodes.component.OpenException
      • close

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