CSP for Java
(JCSP) 1.1-rc4

org.jcsp.net
Class NodeUI

java.lang.Object
  extended by org.jcsp.net.NodeUI
All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
NodeUIImpl

public abstract class NodeUI
extends Object
implements Serializable, Comparable

A Unique Identifier for a Node. This class is different from NodeID in that it does not describe the Node's location.

Implementations of this class should provide a constructor that takes a String parameter which is in the format of the String returned from the getImplStringForm() method.

Author:
Quickstone Technologies Limited
See Also:
Serialized Form

Constructor Summary
NodeUI()
           
 
Method Summary
protected abstract  boolean checkEqual(NodeUI other)
          An abstract method to be implemented to return whether another NodeUI object is equal to this instance.
 int compareTo(Object o)
          Compares this NodeUI with another object.
static NodeUI createFromStringForm(String stringForm)
          Creates a NodeUI from a String in the format of that returned from the getImplStringForm() method.
 boolean equals(Object o)
          Compares this NodeUI with another object.
protected abstract  String getComparisonString()
          This is an abstract method that should be implemented to return a String that can be used by the compareTo(Object) method in order to compare two NodeUI objects.
protected abstract  String getImplStringForm()
          Returns a String that can be supplied to the static createFromStringForm(String) method in order to create an equal NodeUI object.
abstract  int hashCode()
          Returns an int hash code for this object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeUI

public NodeUI()
Method Detail

getImplStringForm

protected abstract String getImplStringForm()
Returns a String that can be supplied to the static createFromStringForm(String) method in order to create an equal NodeUI object.

Returns:
a String containing the necessary information to recreate this NodeUI object.

createFromStringForm

public static final NodeUI createFromStringForm(String stringForm)
Creates a NodeUI from a String in the format of that returned from the getImplStringForm() method.

Parameters:
stringForm - the String to use in creating the NodeUI object.
Returns:
a newly created NodeUI object.

equals

public final boolean equals(Object o)
Compares this NodeUI with another object. This method checks that the supplied object is a NodeUI object and then calls the implementation of the checkEqual(NodeUI) method and returns its result value as the result of this method.

Overrides:
equals in class Object
Parameters:
o - an object to compare with this object.
Returns:
true iff the supplied object is a NodeUI and the result of a call to the checkEqual(NodeUI) method is true.

compareTo

public final int compareTo(Object o)
                    throws ClassCastException
Compares this NodeUI with another object. This method calls the implementation of the getComparisonString() method on both this NodeUI object and the NodeUI object supplied. The String class' compareTo(Object) is used to perform the comparison. The method is called on the String returned by this object and the String returned by the other object is supplied as the parameter.

Specified by:
compareTo in interface Comparable
Parameters:
o - another object to compare with this object.
Returns:
an int value that follows the rules of the compareTo(Object) method in the String class.
Throws:
ClassCastException - if the supplied object is not a NodeUI object.

checkEqual

protected abstract boolean checkEqual(NodeUI other)
An abstract method to be implemented to return whether another NodeUI object is equal to this instance. If the the NodeUI is of a different implementation class, the method should return false.

Parameters:
other - a NodeUI to compare with this NodeUI.
Returns:
true iff the supplied NodeUI is equal to this one.

getComparisonString

protected abstract String getComparisonString()
This is an abstract method that should be implemented to return a String that can be used by the compareTo(Object) method in order to compare two NodeUI objects. Two NodeUI objects should return equal String objects iff the two NodeUI objects are equal.

Returns:
a String that follows the above rules.

hashCode

public abstract int hashCode()
Returns an int hash code for this object. Two NodeUI objects will return equal hash codes if the two objects are equal.

Overrides:
hashCode in class Object
Returns:
an int hash code.

CSP for Java
(JCSP) 1.1-rc4

Submit a bug or feature to jcsp-team@kent.ac.uk
Version 1.1-rc4 of the JCSP API Specification (Copyright 1997-2008 P.D.Austin and P.H.Welch - All Rights Reserved)
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.