1 salcianu 1.1 // ReverseNavigator.java, created Wed Apr 30 16:39:32 2003 by salcianu 2 salcianu 1.1 // Copyright (C) 2003 Alexandru Salcianu <salcianu@MIT.EDU> 3 salcianu 1.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 salcianu 1.1 package harpoon.Util.Graphs; 5 salcianu 1.1 6 salcianu 1.1 /** 7 salcianu 1.1 * <code>ReverseNavigator</code> is a navigator that reverses an 8 salcianu 1.1 * existent navigator <code>old_nav</code>. I.e., its <code>next<code> 9 salcianu 1.1 * method returns the same result as <code>old_nav.prev</code>, and 10 salcianu 1.1 * its <code>prev<code> method returns the same result as 11 salcianu 1.1 * <code>old_nav.next</code>. 12 salcianu 1.1 * 13 salcianu 1.1 * @author Alexandru Salcianu <salcianu@MIT.EDU> 14 cananian 1.2 * @version $Id: ReverseNavigator.java,v 1.2 2004/02/08 04:53:35 cananian Exp $ */ 15 cananian 1.2 public class ReverseNavigator<Vertex> implements Navigator<Vertex> { 16 salcianu 1.1 17 salcianu 1.1 /** Creates a <code>ReverseNavigator</code> that is based on the 18 salcianu 1.1 existent navigator <code>old_nav</code>, but traverses the 19 salcianu 1.1 graph in reverse direction. */ 20 cananian 1.2 public ReverseNavigator(Navigator<Vertex> old_nav) { 21 salcianu 1.1 this.old_nav = old_nav; 22 salcianu 1.1 } 23 cananian 1.2 private final Navigator<Vertex> old_nav; 24 salcianu 1.1 25 cananian 1.2 public Vertex[] next(Vertex node) { return old_nav.prev(node); } 26 cananian 1.2 public Vertex[] prev(Vertex node) { return old_nav.next(node); } 27 salcianu 1.1 }