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


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 Isis 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 Isis ecosystem.


Package structure distinguishes classes either for internal or public use.


org.apache.isis.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.


org.apache.isis.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!


compile group: 'org.apache.isis', name: 'isis-commons', version: 'xxx'