Commons

Apache Causeway Commons is a library with utilities, that are shared with the entire Apache Causeway ecosystem.

Motivation

This module was initially created, to remove dependence on 3rd party (general purpose) Java libraries like Guava or Apache Commons. This should reduce the likelihood for Apache Causeway developers to run into jar version conflicts, when using one of these 3rd party libraries.

It now also allows us to collect utilities in support of common idioms, that we use throughout the Apache Causeway ecosystem.

Packages

Package structure distinguishes classes either for internal or public use.

Public

org.apache.causeway.commons.* // excluding ...internal.*

Classes meant for public use. For any changes, that break compatibility with older code, we will write migration or release notes to inform developers how to migrate.

Internal

org.apache.causeway.commons.internal.* // internal

Classes meant for framework internal use. By convention these classes are prefixed with an underscore _, to explicitly indicate their nature.

Do not use any of the classes provided by these internal packages, simply because these may be changed or removed without notice!

Install

Maven
<dependency>
    <groupId>org.apache.causeway.commons</groupId>
    <artifactId>causeway-commons</artifactId>
    <version>xxx</version>
</dependency>
Gradle
compile group: 'org.apache.causeway', name: 'causeway-commons', version: 'xxx'