Class BaseDecoderImpl

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  BaseDecoderImpl.BaseDecoderProviderImpl
      Vanilla plain implementation of the BaseDecoder.BaseDecoderProvider interface to be used with ByteProvider (ByteReceiver) instances.
      • 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.OpenedAccessor

        org.refcodes.component.OpenedAccessor.OpenedMutator, org.refcodes.component.OpenedAccessor.OpenedProperty
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BaseDecoderImpl()
      Explicit default constructor.
        BaseDecoderImpl​(org.refcodes.io.ByteProvider aByteProvider)
      Constructs the BaseDecoder reading the data to be decoded from the provided ByteProvider.
        BaseDecoderImpl​(org.refcodes.io.ByteReceiver aByteReceiver)
      Constructs the BaseDecoder reading the data to be decoded from the provided ByteReceiver.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      BaseMetrics getBaseMetrics()
      Retrieves the base codec metrics from the base codec metrics property.
      boolean hasDatagram()
      protected void open​(org.refcodes.io.ByteProvider aConnection)
      Open.
      byte readDatagram()
      byte[] readDatagrams()
      void releaseAll()
      void setBaseMetrics​(BaseMetrics aBaseMetrics)
      Sets the base codec metrics for the base codec metrics property.
      BaseDecoder withBaseMetrics​(BaseMetrics aBaseMetrics)
      Sets the base codec metrics for the base codec metrics property.
      • Methods inherited from class org.refcodes.component.AbstractConnectableAutomaton

        getConnectionStatus, isClosable, isClosed, isOpenable, isOpened, open, setConnectionStatus
      • Methods inherited from interface org.refcodes.io.ByteReceiver

        readDatagrams
      • 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 class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.refcodes.component.OpenedAccessor

        isOpened
    • Constructor Detail

      • BaseDecoderImpl

        public BaseDecoderImpl​(org.refcodes.io.ByteProvider aByteProvider)
        Constructs the BaseDecoder reading the data to be decoded from the provided ByteProvider.
        Parameters:
        aByteProvider - The ByteProvider from which to read the data.
      • BaseDecoderImpl

        public BaseDecoderImpl​(org.refcodes.io.ByteReceiver aByteReceiver)
                        throws org.refcodes.component.OpenException
        Constructs the BaseDecoder reading the data to be decoded from the provided ByteReceiver.
        Parameters:
        aByteReceiver - The ByteReceiver from which to read the data.
        Throws:
        org.refcodes.component.OpenException - in case opening or accessing an open line (connection, junction, link) caused problems.
      • BaseDecoderImpl

        protected BaseDecoderImpl()
        Explicit default constructor.
    • Method Detail

      • getBaseMetrics

        public BaseMetrics getBaseMetrics()
        Retrieves the base codec metrics from the base codec metrics property.
        Specified by:
        getBaseMetrics in interface BaseMetricsAccessor
        Returns:
        The base codec metrics stored by the base codec metrics property.
      • hasDatagram

        public boolean hasDatagram()
                            throws org.refcodes.component.OpenException
        Specified by:
        hasDatagram in interface org.refcodes.io.Receivable
        Throws:
        org.refcodes.component.OpenException
      • readDatagrams

        public byte[] readDatagrams()
                             throws org.refcodes.component.OpenException,
                                    java.lang.InterruptedException
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteBlockProvider
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteProvider
        Specified by:
        readDatagrams in interface org.refcodes.io.ByteReceiver
        Throws:
        org.refcodes.component.OpenException
        java.lang.InterruptedException
      • readDatagram

        public byte readDatagram()
                          throws org.refcodes.component.OpenException,
                                 java.lang.InterruptedException
        Specified by:
        readDatagram in interface org.refcodes.io.ByteDatagramProvider
        Throws:
        org.refcodes.component.OpenException
        java.lang.InterruptedException
      • releaseAll

        public void releaseAll()
        Specified by:
        releaseAll in interface org.refcodes.mixin.Releaseable
      • 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
      • open

        protected void open​(org.refcodes.io.ByteProvider aConnection)
                     throws org.refcodes.component.OpenException
        Open.
        Parameters:
        aConnection - the connection
        Throws:
        org.refcodes.component.OpenException - the open exception