/* * Copyright (c) 2018-2020. Developed by Hedgecode. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.hedgecode.chess.pgn.entity; import java.util.ArrayList; import java.util.List; /** * Variation * * @author Dmitry Samoshin aka gotty */ public class Variation implements Moves { private final DetailMove NULL_MOVE = new DetailMove(0, null); private DetailMove currentMove; private final List moves = new ArrayList<>(); public Variation() { currentMove = NULL_MOVE; } @Override public void addMove(DetailMove move) { moves.add(move); currentMove = move; } @Override public List getMoves() { return moves; } @Override public DetailMove nullMove() { return NULL_MOVE; } @Override public DetailMove currentMove() { return currentMove; } }