< prev index next >

src/java.desktop/share/classes/javax/imageio/spi/DigraphNode.java

Print this page

        

*** 30,42 **** import java.util.Iterator; import java.util.Set; /** * A node in a directed graph. In addition to an arbitrary ! * <code>Object</code> containing user data associated with the node, ! * each node maintains a <code>Set</code>s of nodes which are pointed ! * to by the current node (available from <code>getOutNodes</code>). * The in-degree of the node (that is, number of nodes that point to * the current node) may be queried. * */ class DigraphNode<E> implements Cloneable, Serializable { --- 30,42 ---- import java.util.Iterator; import java.util.Set; /** * A node in a directed graph. In addition to an arbitrary ! * {@code Object} containing user data associated with the node, ! * each node maintains a {@code Set}s of nodes which are pointed ! * to by the current node (available from {@code getOutNodes}). * The in-degree of the node (that is, number of nodes that point to * the current node) may be queried. * */ class DigraphNode<E> implements Cloneable, Serializable {
*** 44,91 **** /** The data associated with this node. */ protected E data; /** ! * A <code>Set</code> of neighboring nodes pointed to by this * node. */ protected Set<DigraphNode<E>> outNodes = new HashSet<>(); /** The in-degree of the node. */ protected int inDegree = 0; /** ! * A <code>Set</code> of neighboring nodes that point to this * node. */ private Set<DigraphNode<E>> inNodes = new HashSet<>(); public DigraphNode(E data) { this.data = data; } ! /** Returns the <code>Object</code> referenced by this node. */ public E getData() { return data; } /** ! * Returns an <code>Iterator</code> containing the nodes pointed * to by this node. */ public Iterator<DigraphNode<E>> getOutNodes() { return outNodes.iterator(); } /** * Adds a directed edge to the graph. The outNodes list of this * node is updated and the in-degree of the other node is incremented. * ! * @param node a <code>DigraphNode</code>. * ! * @return <code>true</code> if the node was not previously the * target of an edge. */ public boolean addEdge(DigraphNode<E> node) { if (outNodes.contains(node)) { return false; --- 44,91 ---- /** The data associated with this node. */ protected E data; /** ! * A {@code Set} of neighboring nodes pointed to by this * node. */ protected Set<DigraphNode<E>> outNodes = new HashSet<>(); /** The in-degree of the node. */ protected int inDegree = 0; /** ! * A {@code Set} of neighboring nodes that point to this * node. */ private Set<DigraphNode<E>> inNodes = new HashSet<>(); public DigraphNode(E data) { this.data = data; } ! /** Returns the {@code Object} referenced by this node. */ public E getData() { return data; } /** ! * Returns an {@code Iterator} containing the nodes pointed * to by this node. */ public Iterator<DigraphNode<E>> getOutNodes() { return outNodes.iterator(); } /** * Adds a directed edge to the graph. The outNodes list of this * node is updated and the in-degree of the other node is incremented. * ! * @param node a {@code DigraphNode}. * ! * @return {@code true} if the node was not previously the * target of an edge. */ public boolean addEdge(DigraphNode<E> node) { if (outNodes.contains(node)) { return false;
*** 96,121 **** node.incrementInDegree(); return true; } /** ! * Returns <code>true</code> if an edge exists between this node * and the given node. * ! * @param node a <code>DigraphNode</code>. * ! * @return <code>true</code> if the node is the target of an edge. */ public boolean hasEdge(DigraphNode<E> node) { return outNodes.contains(node); } /** * Removes a directed edge from the graph. The outNodes list of this * node is updated and the in-degree of the other node is decremented. * ! * @return <code>true</code> if the node was previously the target * of an edge. */ public boolean removeEdge(DigraphNode<E> node) { if (!outNodes.contains(node)) { return false; --- 96,121 ---- node.incrementInDegree(); return true; } /** ! * Returns {@code true} if an edge exists between this node * and the given node. * ! * @param node a {@code DigraphNode}. * ! * @return {@code true} if the node is the target of an edge. */ public boolean hasEdge(DigraphNode<E> node) { return outNodes.contains(node); } /** * Removes a directed edge from the graph. The outNodes list of this * node is updated and the in-degree of the other node is decremented. * ! * @return {@code true} if the node was previously the target * of an edge. */ public boolean removeEdge(DigraphNode<E> node) { if (!outNodes.contains(node)) { return false;
< prev index next >