Class BaseEncoderImpl

java.lang.Object
org.refcodes.component.AbstractConnectableAutomaton
org.refcodes.codec.BaseEncoderImpl
All Implemented Interfaces:
Flushable, BaseEncoder, BaseMetricsAccessor, BaseMetricsAccessor.BaseMetricsBuilder<BaseEncoder>, BaseMetricsAccessor.BaseMetricsMutator, BaseMetricsAccessor.BaseMetricsProperty, Encoder, 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, org.refcodes.io.ByteSource, org.refcodes.io.BytesSource, org.refcodes.io.BytesTransmitter, org.refcodes.io.ByteTransmitter, org.refcodes.io.Transmittable, org.refcodes.mixin.OutputStreamAccessor
Direct Known Subclasses:
BaseEncoderImpl.BaseEncoderConnectionImpl, BaseOutputStreamEncoder

public class BaseEncoderImpl
extends org.refcodes.component.AbstractConnectableAutomaton
implements BaseEncoder
Vanilla plain implementation of the BaseEncoder interface to be used with BytesTransmitter instances.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  BaseEncoderImpl.BaseEncoderConnectionImpl
    Vanilla plain implementation of the BaseEncoder.BaseEncoderConnection interface to be used with BytesSource (BytesTransmitter) instances.

    Nested classes/interfaces inherited from interface org.refcodes.codec.BaseEncoder

    BaseEncoder.BaseEncoderConnection

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

    org.refcodes.io.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
    Modifier Constructor Description
    protected BaseEncoderImpl()
    Explicit default constructor.
      BaseEncoderImpl​(org.refcodes.io.BytesSource aByteConsumer)
    Constructs the BaseEncoder instance using the provided BytesSource to receive the encoded data.
      BaseEncoderImpl​(org.refcodes.io.BytesTransmitter aByteSender)
    Constructs the BaseEncoder instance using the provided BytesTransmitter to receive the encoded data.
  • Method Summary

    Modifier and Type Method Description
    void close()
    void flush()
    BaseMetrics getBaseMetrics()
    Retrieves the base codec metrics from the base codec metrics property.
    protected void open​(org.refcodes.io.BytesSource aConnection)
    Open.
    void setBaseMetrics​(BaseMetrics aBaseMetrics)
    Sets the base codec metrics for the base codec metrics property.
    void transmitAllBytes​(byte[] aDatagram)
    void transmitByte​(byte aByte)
    void transmitBytes​(byte[] aDatagram, int aOffset, int aLength)
    BaseEncoder withBaseMetrics​(BaseMetrics _baseCodecMetrics)
    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 class java.lang.Object

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

    Methods inherited from interface org.refcodes.codec.BaseMetricsAccessor.BaseMetricsProperty

    letBaseMetrics

    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

    • BaseEncoderImpl

      public BaseEncoderImpl​(org.refcodes.io.BytesSource aByteConsumer)
      Constructs the BaseEncoder instance using the provided BytesSource to receive the encoded data.
      Parameters:
      aByteConsumer - The BytesSource to be fed with the encoded data.
    • BaseEncoderImpl

      public BaseEncoderImpl​(org.refcodes.io.BytesTransmitter aByteSender) throws IOException
      Constructs the BaseEncoder instance using the provided BytesTransmitter to receive the encoded data.
      Parameters:
      aByteSender - The BytesTransmitter to be fed with the encoded data.
      Throws:
      IOException - in case opening or accessing an open line (connection, junction, link) caused problems.
    • BaseEncoderImpl

      protected BaseEncoderImpl()
      Explicit default constructor.
  • Method Details

    • 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.
    • setBaseMetrics

      public void setBaseMetrics​(BaseMetrics aBaseMetrics)
      Sets the base codec metrics for the base codec metrics property.
      Specified by:
      setBaseMetrics in interface BaseMetricsAccessor.BaseMetricsMutator
      Parameters:
      aBaseMetrics - The base codec metrics to be stored by the font style property.
    • withBaseMetrics

      public BaseEncoder withBaseMetrics​(BaseMetrics _baseCodecMetrics)
      Sets the base codec metrics for the base codec metrics property.
      Specified by:
      withBaseMetrics in interface BaseMetricsAccessor.BaseMetricsBuilder<BaseEncoder>
      Parameters:
      _baseCodecMetrics - The base codec metrics to be stored by the font style property.
      Returns:
      The builder for applying multiple build operations.
    • transmitByte

      public void transmitByte​(byte aByte) throws IOException
      Specified by:
      transmitByte in interface org.refcodes.io.ByteSource
      Specified by:
      transmitByte in interface org.refcodes.io.BytesSource
      Throws:
      IOException
    • transmitAllBytes

      public void transmitAllBytes​(byte[] aDatagram) throws IOException
      Specified by:
      transmitAllBytes in interface org.refcodes.io.BytesSource
      Throws:
      IOException
    • transmitBytes

      public void transmitBytes​(byte[] aDatagram, int aOffset, int aLength) throws IOException
      Specified by:
      transmitBytes in interface org.refcodes.io.BytesSource
      Specified by:
      transmitBytes in interface org.refcodes.io.BytesTransmitter
      Throws:
      IOException
    • flush

      public void flush() throws IOException
      Specified by:
      flush in interface org.refcodes.io.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
    • open

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