/** * Construct an IPv6 network mask from a prefix length. The prefix length should be in the interval ]0, 128]. * * @param prefixLength prefix length * @throws IllegalArgumentException if the prefix length is not in the interval ]0, 128] * @return ipv6 network mask */ public static IPv6NetworkMask fromPrefixLength(int prefixLength) { return new IPv6NetworkMask(prefixLength); }
/** * Construct an IPv6 network mask from a prefix length. The prefix length should be in the interval ]0, 128]. * * @param prefixLength prefix length * @throws IllegalArgumentException if the prefix length is not in the interval ]0, 128] * @return ipv6 network mask */ public static IPv6NetworkMask fromPrefixLength(int prefixLength) { return new IPv6NetworkMask(prefixLength); }
/** * Construct an IPv6 network mask from an IPv6 address. The address should be a valid network mask. * * @param iPv6Address address to use as network mask * @throws IllegalArgumentException if the address is not a valid network mask * @return ipv6 network mask */ public static IPv6NetworkMask fromAddress(final IPv6Address iPv6Address) { validateNetworkMask(iPv6Address); return new IPv6NetworkMask(iPv6Address.numberOfLeadingOnes()); }
/** * Construct an IPv6 network mask from an IPv6 address. The address should be a valid network mask. * * @param iPv6Address address to use as network mask * @throws IllegalArgumentException if the address is not a valid network mask * @return ipv6 network mask */ public static IPv6NetworkMask fromAddress(final IPv6Address iPv6Address) { validateNetworkMask(iPv6Address); return new IPv6NetworkMask(iPv6Address.numberOfLeadingOnes()); }
/** * Create an IPv6 network from its String representation. For example "1234:5678:abcd:0:0:0:0:0/64" or "2001::ff/128". * * @param string string representation * @return ipv6 network */ public static IPv6Network fromString(String string) { if (string.indexOf('/') == -1) { throw new IllegalArgumentException("Expected format is network-address/prefix-length"); } final String networkAddressString = parseNetworkAddress(string); int prefixLength = parsePrefixLength(string); final IPv6Address networkAddress = IPv6Address.fromString(networkAddressString); return fromAddressAndMask(networkAddress, new IPv6NetworkMask(prefixLength)); }
/** * Create an IPv6 network from its String representation. For example "1234:5678:abcd:0:0:0:0:0/64" or "2001::ff/128". * * @param string string representation * @return ipv6 network */ public static IPv6Network fromString(String string) { if (string.indexOf('/') == -1) { throw new IllegalArgumentException("Expected format is network-address/prefix-length"); } final String networkAddressString = parseNetworkAddress(string); int prefixLength = parsePrefixLength(string); final IPv6Address networkAddress = IPv6Address.fromString(networkAddressString); return fromAddressAndMask(networkAddress, new IPv6NetworkMask(prefixLength)); }