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 }