Class ObjectWithUnitSerializer<U extends org.djunits.unit.Unit<U>,T>
- java.lang.Object
-
- org.djutils.serialization.serializers.BasicSerializer<T>
-
- org.djutils.serialization.serializers.ObjectSerializer<T>
-
- org.djutils.serialization.serializers.ObjectWithUnitSerializer<U,T>
-
- Type Parameters:
U- the unit typeT- the object type
- All Implemented Interfaces:
Serializer<T>
- Direct Known Subclasses:
DoubleScalarSerializer,DoubleVectorArraySerializer,FloatScalarSerializer
public abstract class ObjectWithUnitSerializer<U extends org.djunits.unit.Unit<U>,T> extends ObjectSerializer<T>
Abstract class to (de)serializes a DJUNITS value.Copyright (c) 2019-2021 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.- Author:
- Alexander Verbraeck
-
-
Constructor Summary
Constructors Constructor Description ObjectWithUnitSerializer(byte type, String dataClassName)Construct a new ObjectWithUnitSerializer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidencodeUnit(U unit, byte[] message, Pointer pointer, EndianUtil endianUtil)Code a unit, including MoneyUnits.protected UgetUnit(byte[] buffer, Pointer pointer, EndianUtil endianUtil)Retrieve and decode a DJUNITS unit.-
Methods inherited from class org.djutils.serialization.serializers.ObjectSerializer
getNumberOfDimensions, serializeWithPrefix, sizeWithPrefix
-
Methods inherited from class org.djutils.serialization.serializers.BasicSerializer
dataClassName, fieldType, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.djutils.serialization.serializers.Serializer
deSerialize, serialize, size
-
-
-
-
Constructor Detail
-
ObjectWithUnitSerializer
public ObjectWithUnitSerializer(byte type, String dataClassName)Construct a new ObjectWithUnitSerializer.- Parameters:
type- byte; the field type (returned by thefieldTypemethod)dataClassName- String; returned by the dataClassName method
-
-
Method Detail
-
encodeUnit
protected void encodeUnit(U unit, byte[] message, Pointer pointer, EndianUtil endianUtil)
Code a unit, including MoneyUnits.- Parameters:
unit- U; the unit to code in the byte arraymessage- byte[]; the byte arraypointer- Pointer; the start pointer in the byte arrayendianUtil- EndianUtil; encoder to use for multi-byte values
-
getUnit
protected U getUnit(byte[] buffer, Pointer pointer, EndianUtil endianUtil)
Retrieve and decode a DJUNITS unit.- Parameters:
buffer- byte[]; the encoded datapointer- Pointer; position in the encoded data where the unit is to be decoded fromendianUtil- EndianUtil; decoder for multi-byte values- Returns:
- Unit
-
-