Class NetworkAddress

java.lang.Object
org.elasticsearch.common.network.NetworkAddress

public final class NetworkAddress
extends java.lang.Object
Utility functions for presentation of network addresses.

Java's address formatting is particularly bad, every address has an optional host if its resolved, so IPv4 addresses often look like this (note the confusing leading slash):

    /127.0.0.1
 
IPv6 addresses are even worse, with no IPv6 address compression, and often containing things like numeric scopeids, which are even more confusing (e.g. not going to work in any user's browser, refer to an interface on another machine, etc):
    /0:0:0:0:0:0:0:1%1
 
Note: the %1 is the "scopeid".

This class provides sane address formatting instead, e.g. 127.0.0.1 and ::1 respectively. No methods do reverse lookups.

  • Method Summary

    Modifier and Type Method Description
    static java.lang.String format​(java.net.InetAddress address)
    Formats a network address for display purposes.
    static java.lang.String format​(java.net.InetSocketAddress address)
    Formats a network address and port for display purposes.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • format

      public static java.lang.String format​(java.net.InetAddress address)
      Formats a network address for display purposes.

      This formats only the address, any hostname information, if present, is ignored. IPv6 addresses are compressed and without scope identifiers.

      Example output with just an address:

      • IPv4: 127.0.0.1
      • IPv6: ::1
      Parameters:
      address - IPv4 or IPv6 address
      Returns:
      formatted string
    • format

      public static java.lang.String format​(java.net.InetSocketAddress address)
      Formats a network address and port for display purposes.

      This formats the address with format(InetAddress) and appends the port number. IPv6 addresses will be bracketed. Any host information, if present is ignored.

      Example output:

      • IPv4: 127.0.0.1:9300
      • IPv6: [::1]:9300
      Parameters:
      address - IPv4 or IPv6 address with port
      Returns:
      formatted string