Class TCPIPAddressID

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class TCPIPAddressID
    extends NodeAddressID

    Provides a concrete implementation of the abstract NodeAddressID for use with the TCP/IP link protocol. A TCP/IP node address consists of an internet host address (IP address) and 16bit IP port number.

    Author:
    Quickstone Technologies Limited
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      TCPIPAddressID​(java.lang.String host, int port, boolean isUnique)
      Creates a TCPIPAddressID for a computer, given it's host name and port number.
      TCPIPAddressID​(java.net.InetAddress host, int port, boolean isUnique)
      Creates a TCPIPAddressID for a computer, given it's IP address and port number.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Compares two TCPIPAddressID for equality.
      static NodeAddressID getAddressIDFromString​(java.lang.String stringForm)
      Constructs and returns a TCPIPv4 NodeAddressID from a String.
      java.net.InetAddress getHost()
      Returns the computer's IP address
      int getPort()
      Returns the computer's port number for incoming link requests.
      ProtocolID getProtocolID()
      Returns the ProtocolID for this address
      protected java.lang.String getStringForm()
      Returns a string representation of the address suitable for use in the createAddressID method of TCPIPProtocolID.
      int hashCode()
      Returns a hashCode for this TCPIPAddressID
      boolean isGloballyUnique()
      Returns true if this NodeAddressID is known to be unique within the global org.jcsp.net domain.
      java.lang.String toString()
      Returns a string representation of this TCPIPAddressID, in the form "123.45.67.234:5678".
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TCPIPAddressID

        public TCPIPAddressID​(java.net.InetAddress host,
                              int port,
                              boolean isUnique)
                       throws java.lang.IllegalArgumentException
        Creates a TCPIPAddressID for a computer, given it's IP address and port number.
        Parameters:
        host - The computer's IP address.
        port - The computer's port number, in the range 0-65535 inclusive.
        isUnique - True if the address ID is globally unique, false otherwise.
        Throws:
        java.lang.IllegalArgumentException - If the port is invalid.
      • TCPIPAddressID

        public TCPIPAddressID​(java.lang.String host,
                              int port,
                              boolean isUnique)
                       throws java.lang.IllegalArgumentException,
                              java.net.UnknownHostException
        Creates a TCPIPAddressID for a computer, given it's host name and port number.
        Parameters:
        host - The computer's IP address, as a string
        port - The computer's port number.
        Throws:
        java.lang.IllegalArgumentException - If the port is invalid.
        java.net.UnknownHostException - If the host name cannot be resolved.
    • Method Detail

      • getAddressIDFromString

        public static NodeAddressID getAddressIDFromString​(java.lang.String stringForm)
                                                    throws java.lang.IllegalArgumentException
        Constructs and returns a TCPIPv4 NodeAddressID from a String. The String MUST be in the form of that returned from the getStringForm method.
        Parameters:
        stringForm - The String form representing a NodeAddressID.
        Throws:
        java.lang.IllegalArgumentException - if the string is incorrectly formatted.
      • getStringForm

        protected java.lang.String getStringForm()
        Returns a string representation of the address suitable for use in the createAddressID method of TCPIPProtocolID.
        Specified by:
        getStringForm in class NodeAddressID
        Returns:
        a String that can be passed to the static getAddressIDFromString(String) method in order to reconstuct the object.
      • getProtocolID

        public ProtocolID getProtocolID()
        Returns the ProtocolID for this address
        Specified by:
        getProtocolID in class NodeAddressID
        Returns:
        this NodeAddressID object's ProtocolID.
      • getHost

        public final java.net.InetAddress getHost()
        Returns the computer's IP address
        Returns:
        IP address of server.
      • getPort

        public final int getPort()
        Returns the computer's port number for incoming link requests.
        Returns:
        Port number of server.
      • equals

        public final boolean equals​(java.lang.Object obj)
        Compares two TCPIPAddressID for equality.
        Specified by:
        equals in class NodeAddressID
        Parameters:
        obj - another object that should be another NodeAddressID.
        Returns:
        true iff obj is a non-null TCPIPAddressID for the same port & host, false otherwise.
      • hashCode

        public final int hashCode()
        Returns a hashCode for this TCPIPAddressID
        Specified by:
        hashCode in class NodeAddressID
        Returns:
        an int hash code.
      • isGloballyUnique

        public boolean isGloballyUnique()
        Description copied from class: NodeAddressID

        Returns true if this NodeAddressID is known to be unique within the global org.jcsp.net domain.

        A Node may have several addresses. If a Node is on an internal network that is connected to the Internet, it may have one local address and one address that is accessible from the Internet. The Internet address may be globally unique whereas the local address may be duplicated in other internal networks. The NodeAddressID object representing the Internet address should return true when this method is called whereas the NodeAddressID representing the local address should return false.

        Specified by:
        isGloballyUnique in class NodeAddressID
        Returns:
        true iff this NodeAddressID is globally unique.
      • toString

        public final java.lang.String toString()
        Returns a string representation of this TCPIPAddressID, in the form "123.45.67.234:5678".
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of this ComputerID.