Class InetAddresses

org.elasticsearch.common.network.InetAddresses

public class InetAddresses extends
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static
     ipString)
    Returns the having the given string representation.
    static boolean
     ipString)
     
    static org.elasticsearch.core.Tuple<,​>
     maskedAddress)
    Parse an IP address and its prefix length using the CIDR notation.
    static
     ip)
    Returns the string representation of an .
    static
     address, int prefixLength)
    Given an address and prefix length, returns the string representation of the range in CIDR notation.
    static
     ip)
    Returns the string representation of an suitable for inclusion in a URI.

    Methods inherited from class java.lang.

    , , , , , , , , , ,
  • Constructor Details

    • InetAddresses

      public InetAddresses()
  • Method Details

    • isInetAddress

      public static boolean isInetAddress( ipString)
    • toUriString

      public static  toUriString( ip)
      Returns the string representation of an suitable for inclusion in a URI.

      For IPv4 addresses, this is identical to , 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 , 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), , or this method is recommended over when an IP address string literal is desired. This is because prints the hostname and the IP address string joined by a "/".

      Parameters:
      ip - to be converted to URI string literal
      Returns:
      String containing URI-safe string literal
    • toAddrString

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

      For IPv4 addresses, this is identical to , but for IPv6 addresses, the output follows 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 - to be converted to an address string
      Returns:
      String containing the text-formatted IP address
      Since:
      10.0
    • forString

      public static  forString( ipString)
      Returns the 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:
      representing the argument
      Throws:
      - if the argument is not a valid IP string literal
    • parseCidr

      public static org.elasticsearch.core.Tuple<,​> parseCidr( maskedAddress)
      Parse an IP address and its prefix length using the CIDR notation.
      Throws:
      - if the string is not formatted as ip_address/prefix_length
      - if the IP address is an IPv6-mapped ipv4 address
      - if the prefix length is not in 0-32 for IPv4 addresses and 0-128 for IPv6 addresses
      - if the prefix length is not an integer
    • toCidrString

      public static  toCidrString( address, int prefixLength)
      Given an address and prefix length, returns the string representation of the range in CIDR notation. See toAddrString(java.net.InetAddress) for details on how the address is represented.