class IpAssignment {

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(getClass())
                .add("ip", ipAddress)
                .add("timestamp", timestamp)
                .add("lease", leasePeriod)
                .add("assignmentStatus", assignmentStatus)
                .add("subnetMask", subnetMask)
                .add("broadcast", broadcast)
                .add("dhcpServer", dhcpServer)
                .add("routerAddress", routerAddress)
                .add("domainServer", domainServer)
                .toString();
    }

    private  IpAssignment(Ip4Address ipAddress,
                         long leasePeriod,
                         Date timestamp,
                         AssignmentStatus assignmentStatus,
                         Ip4Address subnetMask,
                         Ip4Address broadcast,
                         Ip4Address dhcpServer,
                         Ip4Address routerAddress,
                         Ip4Address domainServer);

}