A project for more utility classes that require more dependencies called djutils-ext has been added.
Classes for Command Line Interface parsing have been added. The classes are based on picocli.
A utility class with converters for DJUTILS command line arguments has been added. With these
converters, it is possible to e.g. specify --timeout=30s on the command line and convert the
timeout to a DJUNITS Duration scalar.
The byte[][] serialization destroyed the underlying data -- this has been repaired.
The serializers have all been made strongly typed, avoiding casting. Or actually, the casting has been
shifted to the encode method on a higher level.
The ImmutableLinkedHashMap.values() was overriding a non-reproducible values() method from the
ImmutableAbstractMap. The ImmutableLinkedHashMap now has its own values() method.
The ImmutableLinkedHashMap returned a non-linked HashSet as EntrySet and as KeySet. This has
been repaired.
The UTF-8 Strings in djutils-serialization have been improved. The UTF-8 String can now handle
1-byte, 2-byte, 3-byte and 4-byte characters. The length of the UTF-8 serialized bytes indicates
the number of bytes. The length does not say anything about the number of characters.
The UTF-16 Strings in djutils-serialization have been improved. The UTF-16 String can now handle
2-byte and 4-byte characters. The length of the UTF-16 String indicates the number of 2-byte
shorts in the array. The length does not say anything about the number of characters.
The byte array in djutils-serialization has been repaired. The underlying byte array was nulled
during serialization.
ObjectArraySerializer and ObjectMatrixSerializer added.
SerialDataDumper added to provide insight into structure of the serialized data.
The djunits-serialization project has been added to serialize and deserialize different classes
including djunits scalars, vectors and matrices in a strongly typed manner.
EntrySets have been added to the ImmutableMap classes.
The keySet(), values() and entrySet() methods cache the results as these are often called.
The ImmutableCollections class has been added, which takes care of those functions of the
Collections class that do not update the (immutable) collections that the methods receive
as arguments.
Cat class in the logger package belongs in dsol, not in djutils, so removed it.
The 'decoderdumper' package has been added to the djutils project, extending
and replacing HexDump.
The CategoryLogger has been extended with a 'when(condition)' static method.
A call like CategoryLogger.when(ok).always().info("Ok"); is now possible.
The HexDump class has been added to djutils to create hexadecimal dumps of data.
Copyright message changed to 2019.
The 'means' package has been added to the djutils project.
Several classes from other projects that are heavily shared between the projects, but not
specific for one of the projects have been transferred to the djutils project.