package VASSAL.counters; /* * $Id$ * * Copyright (c) 2004 by Rodney Kinney * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License (LGPL) as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, copies are available * at http://www.opensource.org. */ /** * {@link GamePiece}s may implement this interface to implement "merge" functionality of * their state. The <code>merge</code> method applies the diff between an "old" and a "new" * state to the current state of the piece. */ public interface StateMergeable { /** * Compute the difference between <code>newState</code> and <code>oldState</code> * and appy that difference to the current state * @param newState * @param oldState */ void mergeState(String newState, String oldState); }