Class DoubleMatrixSerializer<U extends Unit<U>,​S extends DoubleScalarInterface<U,​S>,​V extends DoubleVectorInterface<U,​S,​V>,​M extends DoubleMatrixInterface<U,​S,​V,​M>>

java.lang.Object
org.djutils.serialization.serializers.BasicSerializer<T>
org.djutils.serialization.serializers.ArrayOrMatrixWithUnitSerializer<U,​M>
org.djutils.serialization.serializers.DoubleMatrixSerializer<U,​S,​V,​M>
Type Parameters:
U - the unit type
S - the scalar type
V - the vector type
M - the matrix type
All Implemented Interfaces:
Serializer<M>

public class DoubleMatrixSerializer<U extends Unit<U>,​S extends DoubleScalarInterface<U,​S>,​V extends DoubleVectorInterface<U,​S,​V>,​M extends DoubleMatrixInterface<U,​S,​V,​M>>
extends ArrayOrMatrixWithUnitSerializer<U,​M>
(De)serializes a DJUNITS DoubleMatrix.

Copyright (c) 2019-2020 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 Details

  • Method Details

    • size

      public int size​(M adm) throws SerializationException
      Compute the number of bytes needed to serialize an object of type T (excluding the byte(s) that indicate that an object of type T is next in the data stream).
      Parameters:
      adm - T; Instance of the object
      Returns:
      int; the number of bytes needed to serialize an object of type T
      Throws:
      SerializationException - when the object cannot be serialized
    • serialize

      public void serialize​(M adm, byte[] buffer, Pointer pointer, EndianUtil endianUtil) throws SerializationException
      Serialize an object of type T; not including the prefix byte(s).
      Parameters:
      adm - T; the object to serialize
      buffer - byte[]; buffer for the serialized T
      pointer - Pointer; position in buffer where the first byte of the serialized T will be stored
      endianUtil - EndianUtil; selects bigEndian or littleEndian encoding
      Throws:
      SerializationException - when a matrix has size zero or is jagged
    • deSerialize

      public M deSerialize​(byte[] buffer, Pointer pointer, EndianUtil endianUtil) throws SerializationException
      Deserialize an object of type T. The pointer should be on the first byte of the object; i.e. just after the prefix byte.
      Parameters:
      buffer - byte[]; the bytes with serialized data that must be reconstructed into a T
      pointer - Pointer; position in the buffer where the first byte of the serialized T is located
      endianUtil - EndianUtil; selects bigEndian or littleEndian encoding
      Returns:
      T; a T object constructed from the data in the buffer
      Throws:
      SerializationException - when the input data cannot be deserialized