Package com.iizix

Class HostNameOrAddress

java.lang.Object
com.iizix.HostNameOrAddress

public class HostNameOrAddress extends Object
The host name and/or IP address, used to look-up region location information.
Author:
Christopher Mindus
  • Constructor Details

    • HostNameOrAddress

      public HostNameOrAddress(InetAddress address)
      Constructs the region location from an IP address (version 4 or 6).
      Parameters:
      address - The IPv4/IPv6 address.
      Throws:
      NullPointerException - If address is null.
    • HostNameOrAddress

      public HostNameOrAddress(String host) throws UnknownHostException
      Constructs the region location from a host name or IP address (version 4 or 6).
      Parameters:
      host - The host name or IPv4/IPv6 address.
      Throws:
      NullPointerException - If hostName is null.
      UnknownHostException - If hostName InetAddress cannot be determined.
  • Method Details

    • getHost

      public String getHost()
      Gets the host name or address.
      Returns:
      The host address if this instance was constructed from an {@link InetAddress}, otherwise the original host name or address as specified in the constructor.
    • getAddress

      public InetAddress getAddress()
      Gets the address.
      Returns:
      The InetAddress as IPv4 or IPv6 instance.
    • toString

      public String toString()
      Creates a string representation of the instance.
      Overrides:
      toString in class Object
      Returns:
      A String formatted as host+"("+InetAddress.getHostAddress()+')'.
    • hashCode

      public int hashCode()
      Returns the hashCode.
      Overrides:
      hashCode in class Object
      Returns:
      The hash code.
    • equals

      public boolean equals(Object obj)
      Checks if two region locations object are equal.

      Consider the following code:

       HostNameOrAddress h1 = new HostNameOrAddress("dns.google");
       HostNameOrAddress h2 = new HostNameOrAddress("8.8.8.8");
       InetAddress dnsGoogle = InetAddress.getByName("8.8.8.8");
       HostNameOrAddress h3 = new HostNameOrAddress(dnsGoogle);
       

      The instances h2 equals h3, but neither h2 or h3 equals h1.

      Overrides:
      equals in class Object
      Parameters:
      obj - The object to compare with.
      Returns:
      Equals flag.