001package org.maltparser.parser.history; 002 003import org.maltparser.core.exception.MaltChainedException; 004import org.maltparser.parser.history.action.GuideUserAction; 005/** 006 * 007 * @author Johan Hall 008*/ 009public class HistoryListNode implements HistoryNode { 010 private HistoryNode previousNode; 011 private GuideUserAction action; 012 private int position; 013 014 public HistoryListNode(HistoryNode _previousNode, GuideUserAction _action) { 015 this.previousNode = _previousNode; 016 this.action = _action; 017 if (previousNode != null) { 018 this.position = previousNode.getPosition()+1; 019 } else { 020 this.position = 1; 021 } 022 } 023 024 public HistoryNode getPreviousNode() { 025 return previousNode; 026 } 027 028 public GuideUserAction getAction() { 029 return action; 030 } 031 032 public void setPreviousNode(HistoryNode node) { 033 this.previousNode = node; 034 } 035 036 public void setAction(GuideUserAction action) { 037 this.action = action; 038 } 039 040 public int getPosition() { 041 return position; 042 } 043 044 public void clear() throws MaltChainedException { 045 this.previousNode = null; 046 this.action = null; 047 } 048 049 public String toString() { 050 final StringBuilder sb = new StringBuilder(); 051 sb.append(action); 052 return sb.toString(); 053 } 054 055}