Interface ArrayTransmission<ARRAY extends Transmission>

Type Parameters:
ARRAY - The type of the array Transmission 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 Type
    Method
    Description
    default int
    Determines the overall length of this Transmission.
    default SerialSchema
    Retrieves the SerialSchema representing the Transmission.
    default Sequence
    Provides the Sequence representation of this Transmission.
    default org.refcodes.struct.SimpleTypeMap
    Returns the SimpleTypeMap representation of this Transmission.

    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

      default Sequence toSequence()
      Provides the Sequence representation of this Transmission. In case of nested Transmission instances, all Sequence representations from all sub-segments are accumulated to the result as well. Caution, the Transmission (or its nested Transmission instances) may be backed by the returned Sequence.
      Specified by:
      toSequence in interface Transmission
      Returns:
      The according instance's Sequence.
    • toSimpleTypeMap

      default org.refcodes.struct.SimpleTypeMap toSimpleTypeMap()
      Returns the SimpleTypeMap representation of this Transmission. In case this Transmission has Transmission children, then the children are queried as well and contained in the resulting SimpleTypeMap. The aliases of the according Transmission instances represent the resulting path to a Transmission's final simple type.
      Specified by:
      toSimpleTypeMap in interface Transmission
      Returns:
      The SimpleTypeMap representing this Transmission and (if any) its children, with the according aliases forming the paths to the Transmission's values.
    • toSchema

      default SerialSchema toSchema()
      Retrieves the SerialSchema representing the Transmission. Retrieving a SerialSchema is useful when analyzing and debugging data structures such as a AllocSectionDecoratorSegment instance to help document, learn and verify on the structure (as well as the content) of that very AllocSectionDecoratorSegment.
      Specified by:
      toSchema in interface org.refcodes.mixin.Schemable<ARRAY extends Transmission>
      Specified by:
      toSchema in interface Transmission
      Returns:
      The SerialSchema representation of the implementing type for debugging and verification (or documentation) purposes.
    • getLength

      default int getLength()
      Determines the overall length of this Transmission. In case of nested Transmission instances, all length values from all sub-segments are accumulated to the result as well.
      Specified by:
      getLength in interface org.refcodes.mixin.LengthAccessor
      Specified by:
      getLength in interface Transmission
      Returns:
      The (overall) length of the Transmission (including any sub-segments).