Class DoubleSegment

All Implemented Interfaces:
Serializable, org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.LengthAccessor, org.refcodes.mixin.PayloadAccessor<Double>, org.refcodes.mixin.PayloadAccessor.PayloadBuilder<Double,PayloadTransmission<Double>>, org.refcodes.mixin.PayloadAccessor.PayloadMutator<Double>, org.refcodes.mixin.PayloadAccessor.PayloadProperty<Double>, org.refcodes.mixin.Schemable, PayloadSegment<Double>, PayloadTransmission<Double>, Segment, Segment.SegmentMixin, Transmission, Transmission.TransmissionMixin

public class DoubleSegment extends AbstractPayloadSegment<Double> implements Segment
The DoubleSegment is an implementation of a Segment carrying in double value as payload.
See Also:
  • Field Details

  • Constructor Details

    • DoubleSegment

      public DoubleSegment(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:
      aTransmissionMetrics - The TransmissionMetrics to be used for configuring this instance.
    • DoubleSegment

      public DoubleSegment(Double 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.
    • DoubleSegment

      public DoubleSegment(String aAlias, 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.
      aTransmissionMetrics - The TransmissionMetrics to be used for configuring this instance.
    • DoubleSegment

      public DoubleSegment(String aAlias, Double 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.
    • DoubleSegment

      public DoubleSegment()
      Constructs an empty DoubleSegment with a TransmissionMetrics.DEFAULT_ENDIANESS endian representation of the Segment's value.
    • DoubleSegment

      public DoubleSegment(org.refcodes.numerical.Endianess aEndianess)
      Constructs an empty DoubleSegment with the given Endianess.
      Parameters:
      aEndianess - The Endianess to be used for payload values.
    • DoubleSegment

      public DoubleSegment(Double aValue)
      Constructs a DoubleSegment with the given double value (payload) and a TransmissionMetrics.DEFAULT_ENDIANESS endian representation of the Segment's value.
      Parameters:
      aValue - The value (payload) to be contained by the Segment.
    • DoubleSegment

      public DoubleSegment(Double aValue, org.refcodes.numerical.Endianess aEndianess)
      Constructs a DoubleSegment with the given double value (payload) and the given Endianess for the representation of the Segment's value.
      Parameters:
      aValue - The value (payload) to be contained by the Segment.
      aEndianess - The Endianess to be used for payload values.
    • DoubleSegment

      public DoubleSegment(String aAlias)
      Constructs an empty DoubleSegment with a TransmissionMetrics.DEFAULT_ENDIANESS endian representation of the Segment's value.
      Parameters:
      aAlias - The alias which identifies the content of this segment.
    • DoubleSegment

      public DoubleSegment(String aAlias, org.refcodes.numerical.Endianess aEndianess)
      Constructs an empty DoubleSegment with the given Endianess.
      Parameters:
      aAlias - The alias which identifies the content of this segment.
      aEndianess - The Endianess to be used for payload values.
    • DoubleSegment

      public DoubleSegment(String aAlias, Double aValue)
      Constructs a DoubleSegment with the given double value (payload) and a TransmissionMetrics.DEFAULT_ENDIANESS endian representation of the Segment's value.
      Parameters:
      aAlias - The alias which identifies the content of this segment.
      aValue - The value (payload) to be contained by the Segment.
    • DoubleSegment

      public DoubleSegment(String aAlias, Double aValue, org.refcodes.numerical.Endianess aEndianess)
      Constructs a DoubleSegment with the given double value (payload) and the given Endianess for the representation of the Segment's value.
      Parameters:
      aAlias - The alias which identifies the content of this segment.
      aValue - The value (payload) to be contained by the Segment.
      aEndianess - The Endianess to be used for payload values.
  • Method Details

    • toSequence

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

      public SerialSchema toSchema()
      Specified by:
      toSchema in interface org.refcodes.mixin.Schemable
      Specified by:
      toSchema in interface Transmission
    • withPayload

      public DoubleSegment withPayload(Double aValue)
      Specified by:
      withPayload in interface org.refcodes.mixin.PayloadAccessor.PayloadBuilder<Double,PayloadTransmission<Double>>