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 }