Module org.refcodes.serial
Package org.refcodes.serial
Class AbstractTransmissionDecorator<DECORATEE extends Transmission>
- java.lang.Object
-
- org.refcodes.serial.AbstractTransmissionDecorator<DECORATEE>
-
- Type Parameters:
DECORATEE
- TheTransmission
type describing theTransmission
subclass to be enriched.
- All Implemented Interfaces:
Serializable
,org.refcodes.mixin.DecorateeAccessor<DECORATEE>
,org.refcodes.mixin.LengthAccessor
,Transmission
,Transmission.TransmissionMixin
- Direct Known Subclasses:
AbstractCipherTransmissionDecorator
,AbstractInvertibleTransmissionDecorator
,AbstractSectionDecorator
,AbstractSegmentDecorator
,AllocSegmentBody
,BreakerSectionDecorator
,BreakerSegmentDecorator
public abstract class AbstractTransmissionDecorator<DECORATEE extends Transmission> extends Object implements Transmission, Transmission.TransmissionMixin, org.refcodes.mixin.DecorateeAccessor<DECORATEE>
An abstract implementation of aTransmission
decorating anotherTransmission
.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DecorateeAccessor
org.refcodes.mixin.DecorateeAccessor.DecorateeBuilder<DECORATEE extends Object,B extends org.refcodes.mixin.DecorateeAccessor.DecorateeBuilder<DECORATEE,B>>, org.refcodes.mixin.DecorateeAccessor.DecorateeMutator<DECORATEE extends Object>, org.refcodes.mixin.DecorateeAccessor.DecorateeProperty<DECORATEE 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
-
-
Field Summary
Fields Modifier and Type Field Description protected DECORATEE
_decoratee
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTransmissionDecorator()
Constructs an emptyDecoratorSegment
.AbstractTransmissionDecorator(DECORATEE aDecoratee)
Constructs aDecoratorSegment
instance with the given decoratee.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
DECORATEE
getDecoratee()
int
getLength()
Determines the overall length of thisTransmission
.int
hashCode()
Sequence
toSequence()
Provides theSequence
representation of thisTransmission
.org.refcodes.struct.SimpleTypeMap
toSimpleTypeMap()
Returns theSimpleTypeMap
representation of thisTransmission
.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.refcodes.serial.Transmission
toSchema, transmitTo, transmitTo
-
Methods inherited from interface org.refcodes.serial.Transmission.TransmissionMixin
transmitTo
-
-
-
-
Field Detail
-
_decoratee
protected DECORATEE extends Transmission _decoratee
-
-
Constructor Detail
-
AbstractTransmissionDecorator
protected AbstractTransmissionDecorator()
Constructs an emptyDecoratorSegment
.
-
AbstractTransmissionDecorator
public AbstractTransmissionDecorator(DECORATEE aDecoratee)
Constructs aDecoratorSegment
instance with the given decoratee.- Parameters:
aDecoratee
- The decoratee to be contained by this facade.
-
-
Method Detail
-
getLength
public 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).
-
toSequence
public Sequence 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
.
-
getDecoratee
public DECORATEE getDecoratee()
- Specified by:
getDecoratee
in interfaceorg.refcodes.mixin.DecorateeAccessor<DECORATEE extends Transmission>
-
toSimpleTypeMap
public 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.
-
-