Parallel Programming WS 2014/2015 - File Node.java
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class Node
{
private int id; // unique number of this node
private int value; // the value stored at this node
private Channel input; // the input port of this node
private Set<Node> neighbours; // nodes adjacent to this node
// construct a node with given id number and value
public Node (int id, int value)
{
this.id = id; this.value = value;
this.input = new Channel();
this.neighbours = new HashSet<Node>();
}
// get the numeric unique id of this node
public int getNodeID ()
{ return id; }
// get the input port of this node
public Channel getInputChannel ()
{ return input; }
// how many neighbours does this node have?
public int getNumberOfNeighbours ()
{ return neighbours.size(); }
// iterate over all nodes adjacent to this node
// returns an iterator over Node instances
public Iterator getNeighbours ()
{ return neighbours.iterator(); }
// retrieve the value stored at this node
public int getValue ()
{ return value; }
// add an undirected edge between two nodes
public static void connect (Node a, Node b)
{
if (a.equals(b)) return; // no self-loops please
a.neighbours.add(b);
b.neighbours.add(a);
}
}
Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 02.02.2015


