Class InetAddresses
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic InetAddress
Returns theInetAddress
having the given string representation.static boolean
isInetAddress(String ipString)
static org.elasticsearch.core.Tuple<InetAddress,Integer>
Parse an IP address and its prefix length using the CIDR notation.static String
Returns the string representation of anInetAddress
.static String
toCidrString(InetAddress address, int prefixLength)
Given an address and prefix length, returns the string representation of the range in CIDR notation.static String
Returns the string representation of anInetAddress
suitable for inclusion in a URI.
-
Constructor Details
-
InetAddresses
public InetAddresses()
-
-
Method Details
-
isInetAddress
-
toUriString
Returns the string representation of anInetAddress
suitable 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
-InetAddress
to be converted to URI string literal- Returns:
String
containing 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
-InetAddress
to be converted to an address string- Returns:
String
containing the text-formatted IP address- Since:
- 10.0
-
forString
Returns theInetAddress
having the given string representation.This deliberately avoids all nameservice lookups (e.g. no DNS).
- Parameters:
ipString
-String
containing an IPv4 or IPv6 string literal, e.g."192.168.0.1"
or"2001:db8::1"
- Returns:
InetAddress
representing 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_length
IllegalArgumentException
- 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.
-