Class InetAddresses
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic InetAddressReturns theInetAddresshaving the given string representation.static booleanisInetAddress(String ipString)static org.elasticsearch.core.Tuple<InetAddress,Integer>Parse an IP address and its prefix length using the CIDR notation.static StringReturns the string representation of anInetAddress.static StringtoCidrString(InetAddress address, int prefixLength)Given an address and prefix length, returns the string representation of the range in CIDR notation.static StringReturns the string representation of anInetAddresssuitable for inclusion in a URI.
-
Constructor Details
-
InetAddresses
public InetAddresses()
-
-
Method Details
-
isInetAddress
-
toUriString
Returns the string representation of anInetAddresssuitable for inclusion in a URI.For IPv4 addresses, this is identical to
InetAddress.getHostAddress(), but for IPv6 addresses it compresses zeroes and surrounds the text with square brackets; for example"[2001:db8::1]".Per section 3.2.2 of http://tools.ietf.org/html/rfc3986, a URI containing an IPv6 string literal is of the form
"http://[2001:db8::1]:8888/index.html".Use of either
toAddrString(java.net.InetAddress),InetAddress.getHostAddress(), or this method is recommended overInetAddress.toString()when an IP address string literal is desired. This is becauseInetAddress.toString()prints the hostname and the IP address string joined by a "/".- Parameters:
ip-InetAddressto be converted to URI string literal- Returns:
Stringcontaining URI-safe string literal
-
toAddrString
Returns the string representation of anInetAddress.For IPv4 addresses, this is identical to
InetAddress.getHostAddress(), but for IPv6 addresses, the output follows RFC 5952 section 4. The main difference is that this method uses "::" for zero compression, while Java's version uses the uncompressed form.This method uses hexadecimal for all IPv6 addresses, including IPv4-mapped IPv6 addresses such as "::c000:201". The output does not include a Scope ID.
- Parameters:
ip-InetAddressto be converted to an address string- Returns:
Stringcontaining the text-formatted IP address- Since:
- 10.0
-
forString
Returns theInetAddresshaving the given string representation.This deliberately avoids all nameservice lookups (e.g. no DNS).
- Parameters:
ipString-Stringcontaining an IPv4 or IPv6 string literal, e.g."192.168.0.1"or"2001:db8::1"- Returns:
InetAddressrepresenting the argument- Throws:
IllegalArgumentException- if the argument is not a valid IP string literal
-
parseCidr
Parse an IP address and its prefix length using the CIDR notation.- Throws:
IllegalArgumentException- if the string is not formatted asip_address/prefix_lengthIllegalArgumentException- if the IP address is an IPv6-mapped ipv4 addressIllegalArgumentException- if the prefix length is not in 0-32 for IPv4 addresses and 0-128 for IPv6 addressesNumberFormatException- if the prefix length is not an integer
-
toCidrString
Given an address and prefix length, returns the string representation of the range in CIDR notation. SeetoAddrString(java.net.InetAddress)for details on how the address is represented.
-