DJUTILS-SERIALIZATION contains a set of Java classes that can do strongly-typed serialization and deserialization of data. Example uses are network traffic where different programming languages are involved. We are not the first attempt to solve this problem. Many have gone before us, e.g.:
The (de)serialization methods are used by other TU Delft projects such as SIM0MQ.
Some properties:
Length
in kilometers, Duration
in minutes, an AreaVector
in acres).DJUTILS-SERIALIZATION was developed at the Delft University of Technology as part of the SIM0MQ project and further refined within the Open Traffic Simulator project. The main authors/contributors of the DJUTILS project are Alexander Verbraeck and Peter Knoppers for the Java implementation, and Sibel Eker and Jan Kwakkel for the Python implementation.
Maven is one of the easiest ways to include DJUTILS-SERIALIZATION in a Java project. The Maven files for reside at https://djutils.org/maven. When a POM-file is created for the project, the following snippet needs to be included to include DJUTILS-SERIALIZATION:
<dependencies>
<dependency>
<groupId>org.djutils</groupId>
<artifactId>djutils-serialization</artifactId>
<version>1.04.12</version>
</dependency>
... other dependencies go here ...
</dependencies>
Of course, the version number (1.04.12 in the above example) needs to be replaced with the version that one wants to include in the project.
Right now, the DJUTILS-SERIALIZATION files are kept on a server at TU Delft, and are not yet made available on Maven Central. Therefore, the repository location has to be specified separately in the Maven POM-file:
<repositories>
<repository>
<name>djutils Public Repository</name>
<id>djutils</id>
<url>https://djutils.org/maven</url>
</repository>
... other repositories go here ...
</repositories>
DJUTILS-SERIALIZATION is directly dependent on two packages (djutils and djunits), which have a few further dependencies:
If the DJUTILS-SERIALIZATION library is used as a part of a Maven project, all dependencies will be automatically resolved, and the programmer / user does not have to worry about finding the libraries.