package dk.silverbullet.telemed.questionnaire.node; import com.google.gson.annotations.Expose; import dk.silverbullet.telemed.questionnaire.Questionnaire; import dk.silverbullet.telemed.questionnaire.expression.Variable; import dk.silverbullet.telemed.questionnaire.expression.VariableLinkFailedException; import java.util.Map; public abstract class Node { @Expose private String nodeName; protected Questionnaire questionnaire; public Node(Questionnaire questionnaire, String nodeName) { this.questionnaire = questionnaire; this.nodeName = nodeName; } public abstract void enter(); public abstract void leave(); public abstract void linkNodes(Map<String, Node> map) throws UnknownNodeException; public abstract void linkVariables(Map<String, Variable<?>> map) throws VariableLinkFailedException; public String toString() { return "Node..:" + nodeName; } public String getNodeName() { return nodeName; } public Questionnaire getQuestionnaire() { return questionnaire; } public void setQuestionnaire(Questionnaire questionnaire) { this.questionnaire = questionnaire; } }