Package org.refcodes.codec
Class BaseDecoderImpl
- java.lang.Object
-
- org.refcodes.component.AbstractConnectableAutomaton
-
- org.refcodes.codec.BaseDecoderImpl
-
- All Implemented Interfaces:
BaseDecoder
,BaseMetricsAccessor
,BaseMetricsAccessor.BaseCodecMetricsProperty
,BaseMetricsAccessor.BaseMetricsBuilder<BaseDecoder>
,BaseMetricsAccessor.BaseMetricsMutator
,Decoder
,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.OpenedAccessor
,org.refcodes.io.ByteBlockProvider
,org.refcodes.io.ByteBlockReceiver
,org.refcodes.io.ByteDatagramProvider
,org.refcodes.io.ByteDatagramReceiver
,org.refcodes.io.ByteProvider
,org.refcodes.io.ByteReceiver
,org.refcodes.io.Receivable
,org.refcodes.mixin.Releaseable
- Direct Known Subclasses:
BaseDecoderImpl.BaseDecoderProviderImpl
,BaseInputStreamDecoderImpl
public class BaseDecoderImpl extends org.refcodes.component.AbstractConnectableAutomaton implements BaseDecoder
Vanilla plain implementation of theBaseDecoder
interface to be used withByteReceiver
instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BaseDecoderImpl.BaseDecoderProviderImpl
Vanilla plain implementation of theBaseDecoder.BaseDecoderProvider
interface to be used withByteProvider
(ByteReceiver
) instances.-
Nested classes/interfaces inherited from interface org.refcodes.codec.BaseDecoder
BaseDecoder.BaseDecoderProvider
-
Nested classes/interfaces inherited from interface org.refcodes.codec.BaseMetricsAccessor
BaseMetricsAccessor.BaseCodecMetricsProperty, BaseMetricsAccessor.BaseMetricsBuilder<B extends BaseMetricsAccessor.BaseMetricsBuilder<B>>, BaseMetricsAccessor.BaseMetricsMutator
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseDecoderImpl()
Explicit default constructor.BaseDecoderImpl(org.refcodes.io.ByteProvider aByteProvider)
Constructs theBaseDecoder
reading the data to be decoded from the providedByteProvider
.BaseDecoderImpl(org.refcodes.io.ByteReceiver aByteReceiver)
Constructs theBaseDecoder
reading the data to be decoded from the providedByteReceiver
.
-
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.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.component.ConnectionStatusAccessor
getConnectionStatus, isConnectionOpened
-
-
-
-
Constructor Detail
-
BaseDecoderImpl
public BaseDecoderImpl(org.refcodes.io.ByteProvider aByteProvider)
Constructs theBaseDecoder
reading the data to be decoded from the providedByteProvider
.- Parameters:
aByteProvider
- TheByteProvider
from which to read the data.
-
BaseDecoderImpl
public BaseDecoderImpl(org.refcodes.io.ByteReceiver aByteReceiver) throws org.refcodes.component.OpenException
Constructs theBaseDecoder
reading the data to be decoded from the providedByteReceiver
.- Parameters:
aByteReceiver
- TheByteReceiver
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 interfaceBaseMetricsAccessor
- 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 interfaceBaseMetricsAccessor.BaseMetricsMutator
- Parameters:
aBaseMetrics
- The base codec metrics to be stored by the font style property.
-
withBaseMetrics
public BaseDecoder withBaseMetrics(BaseMetrics aBaseMetrics)
Sets the base codec metrics for the base codec metrics property.- Specified by:
withBaseMetrics
in interfaceBaseMetricsAccessor.BaseMetricsBuilder<BaseDecoder>
- Parameters:
aBaseMetrics
- The base codec metrics to be stored by the font style property.- Returns:
- The builder for applying multiple build operations.
-
hasDatagram
public boolean hasDatagram() throws org.refcodes.component.OpenException
- Specified by:
hasDatagram
in interfaceorg.refcodes.io.Receivable
- Throws:
org.refcodes.component.OpenException
-
readDatagrams
public byte[] readDatagrams() throws org.refcodes.component.OpenException, java.lang.InterruptedException
- Specified by:
readDatagrams
in interfaceorg.refcodes.io.ByteBlockProvider
- Specified by:
readDatagrams
in interfaceorg.refcodes.io.ByteProvider
- Specified by:
readDatagrams
in interfaceorg.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 interfaceorg.refcodes.io.ByteDatagramProvider
- Throws:
org.refcodes.component.OpenException
java.lang.InterruptedException
-
releaseAll
public void releaseAll()
- Specified by:
releaseAll
in interfaceorg.refcodes.mixin.Releaseable
-
close
public void close() throws org.refcodes.component.CloseException
- Specified by:
close
in interfaceorg.refcodes.component.Closable
- Overrides:
close
in classorg.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
-
-