This is a set of Java libraries for common functionality used within the open-source projects published by Level Four AB.
This project is archived. It has been split up into several smaller libraries:
- Exobytes for serialization
- Exoconf for configuration
- ylem-io for extended IO types
- ylem-ids for id manipulation
- ylem-types for type manipulation
This project is licensed under the Apache License 2.0,
see the file LICENSE and NOTICE for details.
The indiviudal parts of this library are available from Maven central:
<dependency>
<groupId>se.l4.commons</groupId>
<artifactId>commons-projectHere</artifactId>
<version>1.2.0</version>
</dependency>The commons-id project contains code for working with identifiers, such
as generating them via LongIdGenerator and encoding/decoding them using
LongIdCodec.
Provides the Bytes class which acts as an abstraction over binary data,
also provides ExtendedDataInput and ExtendedDataOutput that provide
more types and control over data than the regular DataInput and DataOutput.
This module also provides functional interfaces that throw IOException
such as IoConsumer, IoFunction and IoSupplier.
Provides support for finding types, creating instances of types or generating new types.
Streaming serialization of Java objects with support for different formats, including a binary custom format and a JSON format.
Formats can be defined for any class, using either a custom Serializer implementation or annotations.
Configuration loading from a lenient config format, including conversion to objects via serialization.
Integration for Google Guice, such as providing an InstanceFactory that
uses Guice to create objects.