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.