- Type Parameters:
E- The type of the enumeration.
- All Implemented Interfaces:
Serializable,org.refcodes.mixin.AliasAccessor,org.refcodes.mixin.LengthAccessor,org.refcodes.mixin.PayloadAccessor<Enum<E>>,org.refcodes.mixin.PayloadAccessor.PayloadBuilder<Enum<E>,,PayloadTransmission<Enum<E>>> org.refcodes.mixin.PayloadAccessor.PayloadMutator<Enum<E>>,org.refcodes.mixin.PayloadAccessor.PayloadProperty<Enum<E>>,org.refcodes.mixin.Resetable,org.refcodes.mixin.TypeAccessor<E>,org.refcodes.schema.Schemable,PayloadSegment<Enum<E>>,PayloadTransmission<Enum<E>>,Segment,Segment.SegmentMixin,Transmission,Transmission.TransmissionMixin
public class EnumSegment<E extends Enum<E>>
extends AbstractPayloadSegment<Enum<E>>
implements Segment, org.refcodes.mixin.TypeAccessor<E>
The
EnumSegment is an implementation of a Segment carrying an
enumeration value as payload.- See Also:
-
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.AliasPropertyNested 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.LengthPropertyNested classes/interfaces inherited from interface org.refcodes.mixin.PayloadAccessor
org.refcodes.mixin.PayloadAccessor.PayloadBuilder<P extends Object,B extends org.refcodes.mixin.PayloadAccessor.PayloadBuilder<P, B>>, org.refcodes.mixin.PayloadAccessor.PayloadMutator<P extends Object>, org.refcodes.mixin.PayloadAccessor.PayloadProperty<P extends Object> Nested classes/interfaces inherited from interface org.refcodes.serial.Segment
Segment.SegmentMixinNested classes/interfaces inherited from interface org.refcodes.serial.Transmission
Transmission.TransmissionMixinNested classes/interfaces inherited from interface org.refcodes.mixin.TypeAccessor
org.refcodes.mixin.TypeAccessor.TypeBuilder<T extends Object,B extends org.refcodes.mixin.TypeAccessor.TypeBuilder<T, B>>, org.refcodes.mixin.TypeAccessor.TypeMutator<T extends Object>, org.refcodes.mixin.TypeAccessor.TypeProperty<T extends Object> -
Field Summary
FieldsFields inherited from class org.refcodes.serial.AbstractPayloadSegment
_alias, _payload -
Constructor Summary
ConstructorsConstructorDescriptionEnumSegment(Class<E> aType) Constructs an emptyEnumSegmentwith aTransmissionMetrics.DEFAULT_ENDIANESSendian representation of theEnumSegment's value.EnumSegment(Class<E> aType, org.refcodes.numerical.Endianess aEndianess) Constructs an emptyEnumSegmentwith the givenEndianess.EnumSegment(Class<E> aType, TransmissionMetrics aTransmissionMetrics) Constructs an according instance from the given configuration.EnumSegment(Enum<E> aValue, org.refcodes.numerical.Endianess aEndianess) Constructs aEnumSegmentwith the given enumeration value (payload) and the givenEndianessfor the representation of theEnumSegment's value.EnumSegment(Enum<E> aValue, TransmissionMetrics aTransmissionMetrics) Constructs an according instance from the given configuration.EnumSegment(String aAlias, Class<E> aType) Constructs an emptyEnumSegmentwith aTransmissionMetrics.DEFAULT_ENDIANESSendian representation of theEnumSegment's value.EnumSegment(String aAlias, Class<E> aType, Enum<E> aValue, org.refcodes.numerical.Endianess aEndianess) Constructs aEnumSegmentwith the given enumeration value (payload) and the givenEndianessfor the representation of theEnumSegment's value.EnumSegment(String aAlias, Class<E> aType, org.refcodes.numerical.Endianess aEndianess) Constructs an emptyEnumSegmentwith the givenEndianess.EnumSegment(String aAlias, Class<E> aType, TransmissionMetrics aTransmissionMetrics) Constructs an according instance from the given configuration.EnumSegment(String aAlias, Enum<E> aValue, org.refcodes.numerical.Endianess aEndianess) Constructs aEnumSegmentwith the given enumeration value (payload) and the givenEndianessfor the representation of theEnumSegment's value.EnumSegment(String aAlias, Enum<E> aValue, TransmissionMetrics aTransmissionMetrics) Constructs an according instance from the given configuration. -
Method Summary
Modifier and TypeMethodDescriptionintfromTransmission(Sequence aSequence, int aOffset) (Re-)initializes this instance with the the givenSequencedata.intDetermines the overall length of thisTransmission.getType()toSchema()Provides theSequencerepresentation of thisTransmission.withPayload(Enum<E> aValue) Methods inherited from class org.refcodes.serial.AbstractPayloadSegment
equals, getAlias, getPayload, hashCode, reset, setPayload, toSimpleTypeMap, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.refcodes.mixin.PayloadAccessor
getPayloadOrMethods inherited from interface org.refcodes.mixin.PayloadAccessor.PayloadProperty
letPayloadMethods inherited from interface org.refcodes.serial.Segment
fromTransmission, fromTransmission, fromTransmission, receiveFrom, receiveFromMethods inherited from interface org.refcodes.serial.Segment.SegmentMixin
receiveFromMethods inherited from interface org.refcodes.serial.Transmission
reset, toSimpleTypeMap, transmitTo, transmitToMethods inherited from interface org.refcodes.serial.Transmission.TransmissionMixin
transmitTo
-
Field Details
-
ENDIANESS
- See Also:
-
BYTES
public static final int BYTES- See Also:
-
-
Constructor Details
-
EnumSegment
Constructs an according instance from the given configuration. The configuration attributes are taken from theTransmissionMetricsconfiguration object, though only those attributes are supported which are also supported by the other constructors!- Parameters:
aType- the enumeratrion's typeaTransmissionMetrics- TheTransmissionMetricsto be used for configuring this instance.
-
EnumSegment
Constructs an according instance from the given configuration. The configuration attributes are taken from theTransmissionMetricsconfiguration object, though only those attributes are supported which are also supported by the other constructors!- Parameters:
aValue- The payload to be contained by theDoubleArraySection.aTransmissionMetrics- TheTransmissionMetricsto be used for configuring this instance.
-
EnumSegment
Constructs an according instance from the given configuration. The configuration attributes are taken from theTransmissionMetricsconfiguration 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 typeaTransmissionMetrics- TheTransmissionMetricsto be used for configuring this instance.
-
EnumSegment
Constructs an according instance from the given configuration. The configuration attributes are taken from theTransmissionMetricsconfiguration 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 theDoubleArraySection.aTransmissionMetrics- TheTransmissionMetricsto be used for configuring this instance.
-
EnumSegment
Constructs an emptyEnumSegmentwith aTransmissionMetrics.DEFAULT_ENDIANESSendian representation of theEnumSegment's value.- Parameters:
aType- the enumeratrion's type
-
EnumSegment
Constructs an emptyEnumSegmentwith the givenEndianess.- Parameters:
aType- the enumeratrion's typeaEndianess- TheEndianessto be used for payload values.
-
EnumSegment
Constructs aEnumSegmentwith the given enumeration value (payload) and the givenEndianessfor the representation of theEnumSegment's value.- Parameters:
aValue- The value (payload) to be contained by theEnumSegment.aEndianess- TheEndianessto be used for payload values.
-
EnumSegment
Constructs an emptyEnumSegmentwith aTransmissionMetrics.DEFAULT_ENDIANESSendian representation of theEnumSegment's value.- Parameters:
aAlias- The alias which identifies the content of this segment.aType- the enumeratrion's type
-
EnumSegment
Constructs an emptyEnumSegmentwith the givenEndianess.- Parameters:
aAlias- The alias which identifies the content of this segment.aType- the enumeratrion's typeaEndianess- TheEndianessto be used for payload values.
-
EnumSegment
Constructs aEnumSegmentwith the given enumeration value (payload) and the givenEndianessfor the representation of theEnumSegment's value.- Parameters:
aAlias- The alias which identifies the content of this segment.aValue- The value (payload) to be contained by theEnumSegment.aEndianess- TheEndianessto be used for payload values.
-
EnumSegment
public EnumSegment(String aAlias, Class<E> aType, Enum<E> aValue, org.refcodes.numerical.Endianess aEndianess) Constructs aEnumSegmentwith the given enumeration value (payload) and the givenEndianessfor the representation of theEnumSegment's value.- Parameters:
aAlias- The alias which identifies the content of this segment.aType- the enumeration's typeaValue- The value (payload) to be contained by theEnumSegment.aEndianess- TheEndianessto be used for payload values.
-
-
Method Details
-
toSequence
Provides theSequencerepresentation of thisTransmission. In case of nestedTransmissioninstances, allSequencerepresentations from all sub-segments are accumulated to the result as well. Caution, the Transmission (or its nestedTransmissioninstances) may be backed by the returnedSequence.- Specified by:
toSequencein interfaceTransmission- Returns:
- The according instance's
Sequence.
-
fromTransmission
(Re-)initializes this instance with the the givenSequencedata.- Specified by:
fromTransmissionin interfaceSegment- Parameters:
aSequence- TheSequencedata 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
Sequenceprocessed by this method. - Throws:
TransmissionException- thrown in case a givenSequencecannot be processed.
-
getLength
public int getLength()Determines the overall length of thisTransmission. In case of nestedTransmissioninstances, all length values from all sub-segments are accumulated to the result as well.- Specified by:
getLengthin interfaceorg.refcodes.mixin.LengthAccessor- Specified by:
getLengthin interfaceTransmission- Returns:
- The (overall) length of the
Transmission(including any sub-segments).
-
toSchema
- Specified by:
toSchemain interfaceorg.refcodes.schema.Schemable- Specified by:
toSchemain interfaceTransmission
-
withPayload
-
getType
-