[LIB-9] Add SAN, NAG, move number and result PGN tokens
[chesshog.git] / chesshog-format / src / main / java / org / hedgecode / chess / pgn / entity / Variation.java
index 3c290e8..c7a8c9a 100644 (file)
@@ -19,6 +19,8 @@ package org.hedgecode.chess.pgn.entity;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.hedgecode.chess.ParseException;
+
 /**
  * Variation
  *
@@ -28,11 +30,14 @@ public class Variation implements Moves {
 
     private final DetailMove NULL_MOVE = new DetailMove(0, null);
 
+    private Moves parentMoves;
+
     private DetailMove currentMove;
     private final List<DetailMove> moves = new ArrayList<>();
 
-    public Variation() {
-        currentMove = NULL_MOVE;
+    public Variation(Moves parentMoves) {
+        this.parentMoves = parentMoves;
+        this.currentMove = NULL_MOVE;
     }
 
     @Override
@@ -47,6 +52,11 @@ public class Variation implements Moves {
     }
 
     @Override
+    public Moves parent() {
+        return parentMoves;
+    }
+
+    @Override
     public DetailMove nullMove() {
         return NULL_MOVE;
     }
@@ -56,4 +66,14 @@ public class Variation implements Moves {
         return currentMove;
     }
 
+    @Override
+    public void setResult(String result) throws ParseException {
+        throw new ParseException("parse.pgn.variation.result");
+    }
+
+    @Override
+    public String result() {
+        return null;
+    }
+
 }