Class BasicNode

All Implemented Interfaces:
Serializable, Graphable, Node
Direct Known Subclasses:
BasicXYNode

public class BasicNode extends BasicGraphable implements Node
Basic implementation of Node.
Author:
Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
See Also:
  • Constructor Details

    • BasicNode

      public BasicNode()
      Constructs a BasicNode.
  • Method Details

    • add

      public void add(Edge e)
      Adds an edge to the adjacency list of the node which is an underlying List implementation. No checking is done on the edge (duplication, looping...), it is simply added to the list.
      Specified by:
      add in interface Node
      Parameters:
      e - Adjacent edge to add.
      See Also:
    • remove

      public void remove(Edge e)
      Description copied from interface: Node
      Removes an edge from the adjacency list of the node.
      Specified by:
      remove in interface Node
      Parameters:
      e - Adjacent edge to remove.
      See Also:
    • getDegree

      public int getDegree()
      Description copied from interface: Node
      Returns the degree of the node. The degree of a node is defined as the number of edges that are adjacent to the node.
      Specified by:
      getDegree in interface Node
      Returns:
      int Degree of node.
      See Also:
    • getEdge

      public Edge getEdge(Node other)
      Description copied from interface: Node
      Returns an edge in the adjacency list of the node that is adjacent to another specified node.

      Note: It is possible for two nodes to share multiple edges between them. In this case, getEdges(Node other) can be used to obtain a complete list.
      Specified by:
      getEdge in interface Node
      Parameters:
      other - The other node that the desired edge to return is adjacent to.
      Returns:
      The first edge that is found to be adjacent to the specified node.
      See Also:
    • getEdges

      public List<Edge> getEdges(Node other)
      Description copied from interface: Node
      Returns a collection of edges in the adjacency list of the node that are adjacent to another specified node.
      Specified by:
      getEdges in interface Node
      Parameters:
      other - The other node that the desired edges to return are adjacent to.
      Returns:
      List of all edges that are found to be adjacent to the specified node.
      See Also:
    • getEdges

      public List<Edge> getEdges()
      Description copied from interface: Node
      Returns the edge adjacency list of the node.
      Specified by:
      getEdges in interface Node
      Returns:
      A list containing all edges that are adjacent to the node.
      See Also:
    • getRelated

      public Iterator<Node> getRelated()
      Returns all nodes that are incident with adjacent edges minus itself. This iterator is generated by calculating an underlying collection upon each method call.
      Specified by:
      getRelated in interface Graphable
      Returns:
      Iterator An iterator over other components of the graph that are related to the component.
      See Also: