1 2 25 26 package org.aspectj.ajde.ui.internal; 27 28 import java.util.*; 29 import org.aspectj.asm.*; 30 31 34 public class NavigationHistoryModel { 35 36 private ProgramElementNode currNode = null; 37 private Stack backHistory = new Stack(); 38 private Stack forwardHistory = new Stack(); 39 40 43 public ProgramElementNode navigateBack() { 44 if (backHistory.isEmpty() || currNode == null) return null; 45 46 forwardHistory.push(currNode); 47 currNode = (ProgramElementNode)backHistory.pop(); 48 return currNode; 49 } 50 51 54 public ProgramElementNode navigateForward() { 55 if (forwardHistory.isEmpty() || currNode == null) return null; 56 57 backHistory.push(currNode); 58 currNode = (ProgramElementNode)forwardHistory.pop(); 59 return currNode; 60 } 61 62 63 public void navigateToNode(ProgramElementNode toNode) { 64 if (currNode != null) backHistory.push(currNode); 65 currNode = toNode; 66 } 67 } 68 | Popular Tags |