Class NodeAddressID
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
TCPIPAddressID
JCSP.NET communication protocol implementations must provide a concrete
implementation of this class. The instances of the class implementations
should hold address information for JCSP Node LinkServer
processes. For example, a TCP/IP implementation would most likely hold
an IP address and port number.
There is no defined way in this class as to how NodeAddressID
objects should be created. The JCSP infrastructure never looks at the
underlying address information, it simply needs to be able compare one address
with another. The equals(Object)
should be implemented in such a
way that this can be achieved.
Implementations of the ProtocolID
class should implement the
createAddressID(String, boolean)
method so that
NodeAddressID
objects for that protocol can be created from a
String
. The boolean parameter
indicates whether or
not the address is globally unique.
- Author:
- Quickstone Technologies Limited
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns a clone of the instance of the class implementing this interface.abstract boolean
Compares the instance of the class implementing this interface with another object.protected static NodeAddressID
getAddressIDFromString
(String stringForm) This is is a static method that should be overriden by concrete implementations of this class.abstract ProtocolID
Returns theProtocolID
for the protocol that is associated with thisNodeAddressID
.protected abstract String
Deprecated.This is going to be removed from the API.abstract int
hashCode()
Returns a hash code for this object.abstract boolean
Returnstrue
if thisNodeAddressID
is known to be unique within the global org.jcsp.net domain.
-
Constructor Details
-
NodeAddressID
public NodeAddressID()
-
-
Method Details
-
equals
Compares the instance of the class implementing this interface with another object. This should return
true
if the other object represents the same address. -
hashCode
public abstract int hashCode()Returns a hash code for this object. Two
NodeAddressID
objects should return the same hash code if they equal as governed by the rules for theequals(Object)
method. -
clone
Returns a clone of the instance of the class implementing this interface.
- Overrides:
clone
in classObject
- Returns:
- a clone of the object that this is being called on.
- Throws:
CloneNotSupportedException
- if the implementation class does not support the clone method.
-
getProtocolID
Returns theProtocolID
for the protocol that is associated with thisNodeAddressID
.- Returns:
- this
NodeAddressID
object'sProtocolID
.
-
isGloballyUnique
public abstract boolean isGloballyUnique()Returns
true
if thisNodeAddressID
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 returntrue
when this method is called whereas theNodeAddressID
representing the local address should returnfalse
.- Returns:
true
iff thisNodeAddressID
is globally unique.
-
getStringForm
Deprecated.This is going to be removed from the API. The purpose of this mechanism was so that channel information could be encoded into anonymous channels' channel names.Returns a
String
that contains all information necessary for reconstucting this object from aString
. The object is reconstructed by calling the staticgetAddressIDFromString(String)
method.- Returns:
- a
String
that can be passed to the staticgetAddressIDFromString(String)
method in order to reconstuct the object.
-
getAddressIDFromString
protected static NodeAddressID getAddressIDFromString(String stringForm) throws IllegalArgumentException This is is a static method that should be overriden by concrete implementations of this class. Ideally this method would be abstract but the language does not allow abstract static methods.
The method constructs a
NodeAddressID
object from aString
that is in the form of that returned by thegetStringForm()
method. The object returned by this method should equal the object that returned theString
when itsgetStringForm()
methdo was called.- Parameters:
stringForm
- theString
used to construct theNodeAddressID
.- Returns:
- a newly constructed
NodeAddressID
object. - Throws:
IllegalArgumentException
- if theString
supplied is invalid.
-