[LIB-9] Add SAN, NAG, move number and result PGN tokens
[chesshog.git] / chesshog-format / src / main / java / org / hedgecode / chess / pgn / entity / DetailGame.java
index 7486dc0..c80eb72 100644 (file)
@@ -21,6 +21,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.hedgecode.chess.ParseException;
+
 /**
  * DetailGame
  *
@@ -51,6 +53,11 @@ public class DetailGame implements Game, Moves {
     }
 
     @Override
+    public Moves parent() {
+        return null;
+    }
+
+    @Override
     public DetailMove nullMove() {
         return NULL_MOVE;
     }
@@ -61,6 +68,21 @@ public class DetailGame implements Game, Moves {
     }
 
     @Override
+    public void setResult(String result) throws ParseException {
+        String tagResult = tags.get(Tag.RESULT.getName());
+        if (tagResult == null) {
+            tags.put(Tag.RESULT.getName(), result);
+        } else if (!tagResult.equals(result)) {
+            throw new ParseException("parse.pgn.result.not.match");
+        }
+    }
+
+    @Override
+    public String result() {
+        return tags.get(Tag.RESULT.getName());
+    }
+
+    @Override
     public void addTag(String name, String value) {
         tags.put(name, value);
     }