This project has been set to read-only since there is no longer an active maintainer in the organization.
A library of IP network representation classes, like
- IP address (IPv4, IPv6),
- MAC address,
- IP network using the CIDR method (Classless Inter-Domain Routing).
- Java 8 or later
- Maven 3.6 or later
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.
You can include commons-network as a Maven dependency from Maven Central.
<dependency>
<groupId>com.oneandone</groupId>
<artifactId>commons-network</artifactId>
<version>0.14.0</version>
</dependency>
The JavaDoc documentation can be found here.
The version numbers are chosen according to the semantic versioning schema. Especially major version changes come with breaking API changes.