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