001 package org.maltparser.parser.history; 002 003 import org.maltparser.core.exception.MaltChainedException; 004 import org.maltparser.parser.history.action.GuideUserAction; 005 /** 006 * 007 * @author Johan Hall 008 */ 009 public class HistoryListNode implements HistoryNode { 010 private HistoryNode previousNode; 011 private GuideUserAction action; 012 // private double score; 013 private int position; 014 015 public HistoryListNode(HistoryNode previousNode, GuideUserAction action) { 016 setPreviousNode(previousNode); 017 setAction(action); 018 // setScore(score); 019 if (previousNode != null) { 020 setPosition(previousNode.getPosition()+1); 021 } else { 022 setPosition(1); 023 } 024 } 025 026 // public HistoryListNode(HistoryNode previousNode, GuideUserAction action, double score) { 027 // setPreviousNode(previousNode); 028 // setAction(action); 029 // setScore(score); 030 // if (previousNode != null) { 031 // setPosition(previousNode.getPosition()+1); 032 // } else { 033 // setPosition(1); 034 // } 035 // } 036 037 public HistoryNode getPreviousNode() { 038 return previousNode; 039 } 040 041 public GuideUserAction getAction() { 042 return action; 043 } 044 045 public void setPreviousNode(HistoryNode node) { 046 this.previousNode = node; 047 } 048 049 public void setAction(GuideUserAction action) { 050 this.action = action; 051 } 052 053 // public double getScore() { 054 // return score; 055 // } 056 // 057 // public void setScore(double score) { 058 // this.score = score; 059 // } 060 061 private void setPosition(int p) { 062 position = p; 063 } 064 065 public int getPosition() { 066 return position; 067 } 068 069 public void clear() throws MaltChainedException { 070 setPreviousNode(null); 071 setAction(null); 072 } 073 074 public String toString() { 075 final StringBuilder sb = new StringBuilder(); 076 sb.append(action); 077 return sb.toString(); 078 } 079 080 }