Class InetAddresses

java.lang.Object
com.couchbase.client.core.utils.InetAddresses

public class InetAddresses
extends Object
  • Constructor Details

    • InetAddresses

      public InetAddresses()
  • Method Details

    • isInetAddress

      public static boolean isInetAddress​(String ipString)
    • toUriString

      public static String toUriString​(InetAddress ip)
      Returns the string representation of an InetAddress 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 over InetAddress.toString() when an IP address string literal is desired. This is because InetAddress.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

      public static String toAddrString​(InetAddress ip)
      Returns the string representation of an InetAddress.

      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

      public static InetAddress forString​(String ipString)
      Returns the InetAddress 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