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 theBaseEncoder.BaseEncoderConnection
interface to be used withBytesSource
(BytesTransmitter
) instances.Nested classes/interfaces inherited from interface org.refcodes.codec.BaseEncoder
BaseEncoder.BaseEncoderConnection
Nested classes/interfaces inherited from interface org.refcodes.codec.BaseMetricsAccessor
BaseMetricsAccessor.BaseMetricsBuilder<B extends BaseMetricsAccessor.BaseMetricsBuilder<B>>, BaseMetricsAccessor.BaseMetricsMutator, BaseMetricsAccessor.BaseMetricsProperty
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 theBaseEncoder
instance using the providedBytesSource
to receive the encoded data.BaseEncoderImpl(org.refcodes.io.BytesTransmitter aByteSender)
Constructs theBaseEncoder
instance using the providedBytesTransmitter
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 theBaseEncoder
instance using the providedBytesSource
to receive the encoded data.- Parameters:
aByteConsumer
- TheBytesSource
to be fed with the encoded data.
-
BaseEncoderImpl
Constructs theBaseEncoder
instance using the providedBytesTransmitter
to receive the encoded data.- Parameters:
aByteSender
- TheBytesTransmitter
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
Retrieves the base codec metrics from the base codec metrics property.- Specified by:
getBaseMetrics
in interfaceBaseMetricsAccessor
- Returns:
- The base codec metrics stored by the base codec metrics property.
-
setBaseMetrics
Sets the base codec metrics for the base codec metrics property.- Specified by:
setBaseMetrics
in interfaceBaseMetricsAccessor.BaseMetricsMutator
- Parameters:
aBaseMetrics
- The base codec metrics to be stored by the font style property.
-
withBaseMetrics
Sets the base codec metrics for the base codec metrics property.- Specified by:
withBaseMetrics
in interfaceBaseMetricsAccessor.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
- Specified by:
transmitByte
in interfaceorg.refcodes.io.ByteSource
- Specified by:
transmitByte
in interfaceorg.refcodes.io.BytesSource
- Throws:
IOException
-
transmitAllBytes
- Specified by:
transmitAllBytes
in interfaceorg.refcodes.io.BytesSource
- Throws:
IOException
-
transmitBytes
- Specified by:
transmitBytes
in interfaceorg.refcodes.io.BytesSource
- Specified by:
transmitBytes
in interfaceorg.refcodes.io.BytesTransmitter
- Throws:
IOException
-
flush
- Specified by:
flush
in interfaceorg.refcodes.io.ByteTransmitter
- Specified by:
flush
in interfaceFlushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
IOException
-
close
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.refcodes.component.AbstractConnectableAutomaton
- Throws:
IOException
-
open
Open.- Parameters:
aConnection
- the connection- Throws:
IOException
- the open exception
-