Class EnumSegment<E extends Enum<E>>

    • Constructor Detail

      • EnumSegment

        public EnumSegment​(Class<E> aType,
                           TransmissionMetrics aTransmissionMetrics)
        Constructs an according instance from the given configuration. The configuration attributes are taken from the TransmissionMetrics configuration object, though only those attributes are supported which are also supported by the other constructors!
        Parameters:
        aType - the enumeratrion's type
        aTransmissionMetrics - The TransmissionMetrics to be used for configuring this instance.
      • EnumSegment

        public EnumSegment​(Enum<E> aValue,
                           TransmissionMetrics aTransmissionMetrics)
        Constructs an according instance from the given configuration. The configuration attributes are taken from the TransmissionMetrics configuration object, though only those attributes are supported which are also supported by the other constructors!
        Parameters:
        aValue - The payload to be contained by the DoubleArraySection.
        aTransmissionMetrics - The TransmissionMetrics to be used for configuring this instance.
      • EnumSegment

        public EnumSegment​(String aAlias,
                           Class<E> aType,
                           TransmissionMetrics aTransmissionMetrics)
        Constructs an according instance from the given configuration. The configuration attributes are taken from the TransmissionMetrics configuration object, though only those attributes are supported which are also supported by the other constructors!
        Parameters:
        aAlias - The alias which identifies the content of this instance.
        aType - the enumeratrion's type
        aTransmissionMetrics - The TransmissionMetrics to be used for configuring this instance.
      • EnumSegment

        public EnumSegment​(String aAlias,
                           Enum<E> aValue,
                           TransmissionMetrics aTransmissionMetrics)
        Constructs an according instance from the given configuration. The configuration attributes are taken from the TransmissionMetrics configuration object, though only those attributes are supported which are also supported by the other constructors!
        Parameters:
        aAlias - The alias which identifies the content of this instance.
        aValue - The payload to be contained by the DoubleArraySection.
        aTransmissionMetrics - The TransmissionMetrics to be used for configuring this instance.
      • EnumSegment

        public EnumSegment​(Class<E> aType,
                           org.refcodes.numerical.Endianess aEndianess)
        Constructs an empty EnumSegment with the given Endianess.
        Parameters:
        aType - the enumeratrion's type
        aEndianess - The Endianess to be used for payload values.
      • EnumSegment

        public EnumSegment​(Enum<E> aValue,
                           org.refcodes.numerical.Endianess aEndianess)
        Constructs a EnumSegment with the given enumeration value (payload) and the given Endianess for the representation of the EnumSegment's value.
        Parameters:
        aValue - The value (payload) to be contained by the EnumSegment.
        aEndianess - The Endianess to be used for payload values.
      • EnumSegment

        public EnumSegment​(String aAlias,
                           Class<E> aType,
                           org.refcodes.numerical.Endianess aEndianess)
        Constructs an empty EnumSegment with the given Endianess.
        Parameters:
        aAlias - The alias which identifies the content of this segment.
        aType - the enumeratrion's type
        aEndianess - The Endianess to be used for payload values.
      • EnumSegment

        public EnumSegment​(String aAlias,
                           Enum<E> aValue,
                           org.refcodes.numerical.Endianess aEndianess)
        Constructs a EnumSegment with the given enumeration value (payload) and the given Endianess for the representation of the EnumSegment's value.
        Parameters:
        aAlias - The alias which identifies the content of this segment.
        aValue - The value (payload) to be contained by the EnumSegment.
        aEndianess - The Endianess to be used for payload values.
      • EnumSegment

        public EnumSegment​(String aAlias,
                           Class<E> aType,
                           Enum<E> aValue,
                           org.refcodes.numerical.Endianess aEndianess)
        Constructs a EnumSegment with the given enumeration value (payload) and the given Endianess for the representation of the EnumSegment's value.
        Parameters:
        aAlias - The alias which identifies the content of this segment.
        aType - the enumeration's type
        aValue - The value (payload) to be contained by the EnumSegment.
        aEndianess - The Endianess to be used for payload values.
    • Method Detail

      • fromTransmission

        public int fromTransmission​(Sequence aSequence,
                                    int aOffset)
                             throws TransmissionException
        (Re-)initializes this instance with the the given Sequence data.
        Specified by:
        fromTransmission in interface Segment
        Parameters:
        aSequence - The Sequence data from which to (re-)initialize this instance.
        aOffset - The offset where to start processing the provided Sequence.
        Returns:
        The index after the last offset into the given Sequence processed by this method.
        Throws:
        TransmissionException - thrown in case a given Sequence cannot be processed.
      • getLength

        public 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).
      • getType

        public Class<E> getType()
        Specified by:
        getType in interface org.refcodes.mixin.TypeAccessor<E extends Enum<E>>