Module org.refcodes.serial
Package org.refcodes.serial
Class LengthSegmentDecoratorSegment<DECORATEE extends Segment>
- java.lang.Object
-
- org.refcodes.serial.AbstractReferenceeLengthSegment<DECORATEE>
-
- org.refcodes.serial.AbstractLengthDecoratorSegment<DECORATEE>
-
- org.refcodes.serial.LengthSegmentDecoratorSegment<DECORATEE>
-
- Type Parameters:
DECORATEE
- The type of theSegment
decoratee.
- All Implemented Interfaces:
Serializable
,org.refcodes.mixin.DecorateeAccessor<DECORATEE>
,org.refcodes.mixin.LengthAccessor
,org.refcodes.numerical.EndianessAccessor
,AllocLengthAccessor
,DecoratorSegment<DECORATEE>
,LengthWidthAccessor
,Segment
,Transmission
,Transmission.TransmissionMixin
public class LengthSegmentDecoratorSegment<DECORATEE extends Segment> extends AbstractLengthDecoratorSegment<DECORATEE> implements Segment
AnLengthSegmentDecoratorSegment
enriches aSegment
with an allocation declaration being prefixed to the enrichedSegment
.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.serial.AllocLengthAccessor
AllocLengthAccessor.AllocLengthBuilder<B extends AllocLengthAccessor.AllocLengthBuilder<B>>, AllocLengthAccessor.AllocLengthMutator, AllocLengthAccessor.AllocLengthProperty
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DecorateeAccessor
org.refcodes.mixin.DecorateeAccessor.DecorateeBuilder<DECORATEE extends Object,B extends org.refcodes.mixin.DecorateeAccessor.DecorateeBuilder<DECORATEE,B>>, org.refcodes.mixin.DecorateeAccessor.DecorateeMutator<DECORATEE extends Object>, org.refcodes.mixin.DecorateeAccessor.DecorateeProperty<DECORATEE extends Object>
-
Nested classes/interfaces inherited from interface org.refcodes.numerical.EndianessAccessor
org.refcodes.numerical.EndianessAccessor.EndianessBuilder<B extends org.refcodes.numerical.EndianessAccessor.EndianessBuilder<B>>, org.refcodes.numerical.EndianessAccessor.EndianessMutator, org.refcodes.numerical.EndianessAccessor.EndianessProperty
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.LengthAccessor
org.refcodes.mixin.LengthAccessor.LengthBuilder<B extends org.refcodes.mixin.LengthAccessor.LengthBuilder<B>>, org.refcodes.mixin.LengthAccessor.LengthMutator, org.refcodes.mixin.LengthAccessor.LengthProperty
-
Nested classes/interfaces inherited from interface org.refcodes.serial.LengthWidthAccessor
LengthWidthAccessor.LengthWidthBuilder<B extends LengthWidthAccessor.LengthWidthBuilder<B>>, LengthWidthAccessor.LengthWidthMutator, LengthWidthAccessor.LengthWidthProperty
-
Nested classes/interfaces inherited from interface org.refcodes.serial.Segment
Segment.SegmentMixin
-
Nested classes/interfaces inherited from interface org.refcodes.serial.Transmission
Transmission.TransmissionMixin
-
-
Field Summary
-
Fields inherited from class org.refcodes.serial.AbstractReferenceeLengthSegment
_allocLength, _endianess, _lengthWidth, _referencee, LENGTH_ENDIANESS, LENGTH_WIDTH
-
-
Constructor Summary
Constructors Constructor Description LengthSegmentDecoratorSegment(DECORATEE aDecoratee)
LengthSegmentDecoratorSegment(DECORATEE aDecoratee, int aLengthWidth)
LengthSegmentDecoratorSegment(DECORATEE aDecoratee, int aLengthWidth, org.refcodes.numerical.Endianess aEndianess)
LengthSegmentDecoratorSegment(DECORATEE aDecoratee, org.refcodes.numerical.Endianess aEndianess)
LengthSegmentDecoratorSegment(DECORATEE aDecoratee, TransmissionMetrics aTransmissionMetrics)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
fromTransmission(Sequence aSequence, int aOffset)
(Re-)initializes this instance with the the givenSequence
data.void
receiveFrom(InputStream aInputStream, OutputStream aReturnStream)
(Re-)initializes this instance by receiving the accordingSequence
from the givenInputStream
.-
Methods inherited from class org.refcodes.serial.AbstractLengthDecoratorSegment
getDecoratee, getLength, toSchema, toSequence, toString, transmitTo
-
Methods inherited from class org.refcodes.serial.AbstractReferenceeLengthSegment
equals, getAllocLength, getEndianess, getLengthWidth, hashCode, toSimpleTypeMap
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.refcodes.serial.Segment
fromTransmission, fromTransmission, fromTransmission, receiveFrom, receiveFrom
-
Methods inherited from interface org.refcodes.serial.Transmission
getLength, toSchema, toSequence, toSimpleTypeMap, transmitTo, transmitTo
-
-
-
-
Constructor Detail
-
LengthSegmentDecoratorSegment
public LengthSegmentDecoratorSegment(DECORATEE aDecoratee, TransmissionMetrics aTransmissionMetrics)
-
LengthSegmentDecoratorSegment
public LengthSegmentDecoratorSegment(DECORATEE aDecoratee, org.refcodes.numerical.Endianess aEndianess)
-
LengthSegmentDecoratorSegment
public LengthSegmentDecoratorSegment(DECORATEE aDecoratee, int aLengthWidth, org.refcodes.numerical.Endianess aEndianess)
-
LengthSegmentDecoratorSegment
public LengthSegmentDecoratorSegment(DECORATEE aDecoratee, int aLengthWidth)
-
LengthSegmentDecoratorSegment
public LengthSegmentDecoratorSegment(DECORATEE aDecoratee)
-
-
Method Detail
-
fromTransmission
public int fromTransmission(Sequence aSequence, int aOffset) throws TransmissionException
(Re-)initializes this instance with the the givenSequence
data.- Specified by:
fromTransmission
in interfaceSegment
- Overrides:
fromTransmission
in classAbstractReferenceeLengthSegment<DECORATEE extends Segment>
- Parameters:
aSequence
- TheSequence
data from which to (re-)initialize this instance.aOffset
- The offset where to start processing the providedSequence
.- Returns:
- The index after the last offset into the given
Sequence
processed by this method. - Throws:
TransmissionException
- thrown in case a givenSequence
cannot be processed.
-
receiveFrom
public void receiveFrom(InputStream aInputStream, OutputStream aReturnStream) throws IOException, TransmissionException
(Re-)initializes this instance by receiving the accordingSequence
from the givenInputStream
. Implementations providing error correction methods use the provided feedbackOutputStream
to do some sort of "stop-and-wait ARQ" or apply similar methods to ensure correctness of the received data.- Specified by:
receiveFrom
in interfaceSegment
- Overrides:
receiveFrom
in classAbstractReferenceeLengthSegment<DECORATEE extends Segment>
- Parameters:
aInputStream
- TheInputStream
from which to read the instance's (re-)initializationSequence
from.aReturnStream
- AnOutputStream
being the return channel to handle "stop-and-wait ARQ" or the like in case of a bidirectional connection. Can be null in case we have a unidirectional connection.- Throws:
IOException
- thrown in case reading data from theInputStream
caused problems.TransmissionException
- thrown in case a given transmission cannot be processed.
-
-