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 theBaseDecoderinterface to be used withByteReceiverinstances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseDecoderImpl.BaseDecoderProviderImplVanilla plain implementation of theBaseDecoder.BaseDecoderProviderinterface 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 protectedBaseDecoderImpl()Explicit default constructor.BaseDecoderImpl(org.refcodes.io.ByteProvider aByteProvider)Constructs theBaseDecoderreading the data to be decoded from the providedByteProvider.BaseDecoderImpl(org.refcodes.io.ByteReceiver aByteReceiver)Constructs theBaseDecoderreading the data to be decoded from the providedByteReceiver.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()BaseMetricsgetBaseMetrics()Retrieves the base codec metrics from the base codec metrics property.booleanhasDatagram()protected voidopen(org.refcodes.io.ByteProvider aConnection)Open.bytereadDatagram()byte[]readDatagrams()voidreleaseAll()voidsetBaseMetrics(BaseMetrics aBaseMetrics)Sets the base codec metrics for the base codec metrics property.BaseDecoderwithBaseMetrics(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 theBaseDecoderreading the data to be decoded from the providedByteProvider.- Parameters:
aByteProvider- TheByteProviderfrom which to read the data.
-
BaseDecoderImpl
public BaseDecoderImpl(org.refcodes.io.ByteReceiver aByteReceiver) throws org.refcodes.component.OpenExceptionConstructs theBaseDecoderreading the data to be decoded from the providedByteReceiver.- Parameters:
aByteReceiver- TheByteReceiverfrom 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:
getBaseMetricsin 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:
setBaseMetricsin 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:
withBaseMetricsin 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:
hasDatagramin interfaceorg.refcodes.io.Receivable- Throws:
org.refcodes.component.OpenException
-
readDatagrams
public byte[] readDatagrams() throws org.refcodes.component.OpenException, java.lang.InterruptedException- Specified by:
readDatagramsin interfaceorg.refcodes.io.ByteBlockProvider- Specified by:
readDatagramsin interfaceorg.refcodes.io.ByteProvider- Specified by:
readDatagramsin interfaceorg.refcodes.io.ByteReceiver- Throws:
org.refcodes.component.OpenExceptionjava.lang.InterruptedException
-
readDatagram
public byte readDatagram() throws org.refcodes.component.OpenException, java.lang.InterruptedException- Specified by:
readDatagramin interfaceorg.refcodes.io.ByteDatagramProvider- Throws:
org.refcodes.component.OpenExceptionjava.lang.InterruptedException
-
releaseAll
public void releaseAll()
- Specified by:
releaseAllin interfaceorg.refcodes.mixin.Releaseable
-
close
public void close() throws org.refcodes.component.CloseException- Specified by:
closein interfaceorg.refcodes.component.Closable- Overrides:
closein classorg.refcodes.component.AbstractConnectableAutomaton- Throws:
org.refcodes.component.CloseException
-
open
protected void open(org.refcodes.io.ByteProvider aConnection) throws org.refcodes.component.OpenExceptionOpen.- Parameters:
aConnection- the connection- Throws:
org.refcodes.component.OpenException- the open exception
-
-