Package org.apache.commons.net.util
Class SubnetUtils6
- java.lang.Object
-
- org.apache.commons.net.util.SubnetUtils6
-
public class SubnetUtils6 extends java.lang.ObjectPerforms subnet calculations given an IPv6 network address and a prefix length.This is the IPv6 equivalent of
SubnetUtils. Addresses are parsed and formatted usingInetAddress, which accepts the text representations described in RFC 5952.- Since:
- 3.13.0
- See Also:
SubnetUtils, RFC 5952 - A Recommendation for IPv6 Address Text Representation
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classSubnetUtils6.SubnetInfoContains IPv6 subnet summary information.
-
Field Summary
Fields Modifier and Type Field Description private java.math.BigIntegeraddressprivate java.math.BigIntegerhighprivate static java.math.BigIntegerMAX_VALUEprivate static intNBITSprivate java.math.BigIntegernetworkprivate static java.lang.StringPARSE_FAILprivate intprefixLengthprivate static java.math.BigIntegerTWO
-
Constructor Summary
Constructors Constructor Description SubnetUtils6(java.lang.String cidrNotation)Constructs an instance from a CIDR-notation string, e.g., "2001:db8::1/64".SubnetUtils6(java.lang.String address, int prefixLength)Constructs an instance from an IPv6 address and prefix length.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.Stringformat(java.math.BigInteger addr)Formats a BigInteger as an IPv6 address string usingInetAddress.getHostAddress().SubnetUtils6.SubnetInfogetInfo()Gets aSubnetUtils6.SubnetInfoinstance that contains subnet-specific statistics.private static byte[]toByteArray16(java.math.BigInteger value)Converts a BigInteger to a 16-byte array, padding with leading zeros if necessary.private static byte[]toBytes(java.lang.String address)Parses an IPv6 address string to a byte array.java.lang.StringtoString()Returns a summary of this subnet for debugging.
-
-
-
Field Detail
-
NBITS
private static final int NBITS
- See Also:
- Constant Field Values
-
PARSE_FAIL
private static final java.lang.String PARSE_FAIL
- See Also:
- Constant Field Values
-
TWO
private static final java.math.BigInteger TWO
-
MAX_VALUE
private static final java.math.BigInteger MAX_VALUE
-
address
private final java.math.BigInteger address
-
high
private final java.math.BigInteger high
-
network
private final java.math.BigInteger network
-
prefixLength
private final int prefixLength
-
-
Constructor Detail
-
SubnetUtils6
public SubnetUtils6(java.lang.String cidrNotation)
Constructs an instance from a CIDR-notation string, e.g., "2001:db8::1/64".- Parameters:
cidrNotation- a CIDR-notation string, e.g., "2001:db8::1/64".- Throws:
java.lang.IllegalArgumentException- if the parameter is invalid.
-
SubnetUtils6
public SubnetUtils6(java.lang.String address, int prefixLength)Constructs an instance from an IPv6 address and prefix length.- Parameters:
address- an IPv6 address, e.g., "2001:db8::1".prefixLength- the prefix length (0-128).- Throws:
java.lang.IllegalArgumentException- if the parameters are invalid.
-
-
Method Detail
-
format
private static java.lang.String format(java.math.BigInteger addr)
Formats a BigInteger as an IPv6 address string usingInetAddress.getHostAddress().- Parameters:
addr- the address as a BigInteger.- Returns:
- the formatted IPv6 address string.
- See Also:
- RFC 5952
-
toByteArray16
private static byte[] toByteArray16(java.math.BigInteger value)
Converts a BigInteger to a 16-byte array, padding with leading zeros if necessary.- Parameters:
value- the BigInteger to convert.- Returns:
- a 16-byte array.
-
toBytes
private static byte[] toBytes(java.lang.String address)
Parses an IPv6 address string to a byte array.- Parameters:
address- the IPv6 address string.- Returns:
- the 16-byte representation.
- Throws:
java.lang.IllegalArgumentException- if the address cannot be parsed.
-
getInfo
public SubnetUtils6.SubnetInfo getInfo()
Gets aSubnetUtils6.SubnetInfoinstance that contains subnet-specific statistics.- Returns:
- a new SubnetInfo instance.
-
toString
public java.lang.String toString()
Returns a summary of this subnet for debugging.Delegates to
SubnetUtils6.SubnetInfo.toString(). This is a diagnostic format and is not suitable for parsing. UseSubnetUtils6.SubnetInfo.getCidrSignature()to obtain a string that can be fed back intoSubnetUtils6(String).- Overrides:
toStringin classjava.lang.Object- Returns:
- a multi-line debug string summarizing this subnet.
-
-