com.oneandone:commons-network

IP network related classes


Keywords
cidr, eui-64, ip, ipv6, java, library, mac, maven, network
License
Apache-2.0

Documentation

Commons Network

Travis CI Codacy Badge Codacy Badge Maven Central javadoc ReleaseDate License

A library of IP network representation classes, like

Prerequisites

  • Java 8 or later
  • Maven 3.6 or later

Design Goals

The following are the key design goals:

  • Test-coverage: Have well-tested classes. Test coverage is at the moment at 95% line-coverage.
  • Immutability: Have immutable classes where possible to support usage in a multi-threaded environment.
  • Performance: Have simple, well-performing implementations.
  • Simplicity: Have simple implementations where possible.
  • No dependencies: Do not require dependencies for the core cases.
  • Fail-fast: If you enter illegal data, you'll get an exception. The invariant of all objects is to contain no illegal or null data.
  • No I/O: In contrast to the InetAddress class in JDK, these classes are just model classes.

Usage

You can include commons-network as a Maven dependency from Maven Central.

Maven dependency

<dependency>
    <groupId>com.oneandone</groupId>
    <artifactId>commons-network</artifactId>
    <version>0.14.0</version>
</dependency>

Documentation of provided classes and methods

The JavaDoc documentation can be found here.

Version schema

The version numbers are chosen according to the semantic versioning schema. Especially major version changes come with breaking API changes.