package org.docear.plugin.core.ui.wizard; import java.util.Stack; /** * @author genzmehr@docear.org * */ public class WizardTraverseLog { Stack<Object> pageTraverseLog = new Stack<Object>(); /*********************************************************************************** * CONSTRUCTORS **********************************************************************************/ /*********************************************************************************** * METHODS **********************************************************************************/ public void add(WizardPageDescriptor desc) { if(!desc.getPage().skipOnBack() && (pageTraverseLog.isEmpty() || !desc.getIdentifier().equals(pageTraverseLog.peek()))) { pageTraverseLog.push(desc.getIdentifier()); } } public WizardPageDescriptor getPreviousPage(WizardSession context) { try { return context.getModel().getPage(pageTraverseLog.pop()); } catch (Exception e) { return null; } } /*********************************************************************************** * REQUIRED METHODS FOR INTERFACES **********************************************************************************/ }