Module org.refcodes.serial
Package org.refcodes.serial
Interface ArrayTransmission<ARRAY extends Transmission>
- Type Parameters:
ARRAY
- The type of the arrayTransmission
elements.
- All Superinterfaces:
org.refcodes.mixin.AliasAccessor
,org.refcodes.mixin.ArrayAccessor<ARRAY[]>
,org.refcodes.mixin.ArrayAccessor.ArrayBuilder<ARRAY[],
,ArrayTransmission<ARRAY>> org.refcodes.mixin.ArrayAccessor.ArrayMutator<ARRAY[]>
,org.refcodes.mixin.ArrayAccessor.ArrayProperty<ARRAY[]>
,org.refcodes.mixin.LengthAccessor
,org.refcodes.mixin.Schemable<SerialSchema>
,Serializable
,Transmission
- All Known Subinterfaces:
ArraySection<ARRAY>
,ArraySegment<SEGMENT>
- All Known Implementing Classes:
AbstractArrayTransmission
,FixedSegmentArraySection
,SegmentArraySection
public interface ArrayTransmission<ARRAY extends Transmission>
extends Transmission, org.refcodes.mixin.ArrayAccessor.ArrayProperty<ARRAY[]>, org.refcodes.mixin.ArrayAccessor.ArrayBuilder<ARRAY[],ArrayTransmission<ARRAY>>, org.refcodes.mixin.AliasAccessor
A
ArrayTransmission
is a Transmission
with array
Transmission
elements. When invoking toSimpleTypeMap()
the
array nature is preserved by indexing each element of the array with the
array index.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.mixin.AliasAccessor
org.refcodes.mixin.AliasAccessor.AliasBuilder<B extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty
Nested classes/interfaces inherited from interface org.refcodes.mixin.ArrayAccessor
org.refcodes.mixin.ArrayAccessor.ArrayBuilder<T extends Object,
B extends org.refcodes.mixin.ArrayAccessor.ArrayBuilder<T, B>>, org.refcodes.mixin.ArrayAccessor.ArrayMutator<T extends Object>, org.refcodes.mixin.ArrayAccessor.ArrayProperty<T extends Object> 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.Transmission
Transmission.TransmissionMixin
-
Method Summary
Modifier and TypeMethodDescriptiondefault int
Determines the overall length of thisTransmission
.default SerialSchema
toSchema()
Retrieves theSerialSchema
representing theTransmission
.default Sequence
Provides theSequence
representation of thisTransmission
.default org.refcodes.struct.SimpleTypeMap
Returns theSimpleTypeMap
representation of thisTransmission
.Methods inherited from interface org.refcodes.mixin.AliasAccessor
getAlias
Methods inherited from interface org.refcodes.mixin.ArrayAccessor
getArray
Methods inherited from interface org.refcodes.mixin.ArrayAccessor.ArrayBuilder
withArray
Methods inherited from interface org.refcodes.mixin.ArrayAccessor.ArrayMutator
setArray
Methods inherited from interface org.refcodes.mixin.ArrayAccessor.ArrayProperty
letArray
Methods inherited from interface org.refcodes.serial.Transmission
transmitTo, transmitTo, transmitTo
-
Method Details
-
toSequence
Provides theSequence
representation of thisTransmission
. In case of nestedTransmission
instances, allSequence
representations from all sub-segments are accumulated to the result as well. Caution, the Transmission (or its nestedTransmission
instances) may be backed by the returnedSequence
.- Specified by:
toSequence
in interfaceTransmission
- Returns:
- The according instance's
Sequence
.
-
toSimpleTypeMap
default org.refcodes.struct.SimpleTypeMap toSimpleTypeMap()Returns theSimpleTypeMap
representation of thisTransmission
. In case this Transmission hasTransmission
children, then the children are queried as well and contained in the resultingSimpleTypeMap
. The aliases of the accordingTransmission
instances represent the resulting path to aTransmission
's final simple type.- Specified by:
toSimpleTypeMap
in interfaceTransmission
- Returns:
- The
SimpleTypeMap
representing thisTransmission
and (if any) its children, with the according aliases forming the paths to theTransmission
's values.
-
toSchema
Retrieves theSerialSchema
representing theTransmission
. Retrieving aSerialSchema
is useful when analyzing and debugging data structures such as aAllocSectionDecoratorSegment
instance to help document, learn and verify on the structure (as well as the content) of that veryAllocSectionDecoratorSegment
.- Specified by:
toSchema
in interfaceorg.refcodes.mixin.Schemable<ARRAY extends Transmission>
- Specified by:
toSchema
in interfaceTransmission
- Returns:
- The
SerialSchema
representation of the implementing type for debugging and verification (or documentation) purposes.
-
getLength
default int getLength()Determines the overall length of thisTransmission
. In case of nestedTransmission
instances, all length values from all sub-segments are accumulated to the result as well.- Specified by:
getLength
in interfaceorg.refcodes.mixin.LengthAccessor
- Specified by:
getLength
in interfaceTransmission
- Returns:
- The (overall) length of the
Transmission
(including any sub-segments).
-