/** * Created with IntelliJ IDEA. * User: rebeccamancy * Date: 26/10/2012 * Time: 12:22 * To change this template use File | Settings | File Templates. */ public abstract class Model { private int numStates; private int seedState; // public abstract double[] updateRates(int focalPatch, int[] patchStatus, double[] rates, Habitat hab); public abstract double getRate(int focalPatch, int[] patchStatus, Habitat hab); public abstract double mijValue(int focalPatch, int otherPatch, Habitat hab); public abstract double contribRate (Habitat hab, int from, int to); public abstract double extRate (Habitat hab, int from, int to); public int getNextState(int currState) { return ((currState + 1) % numStates); // cycle through states } public void setModelStates(int numStates, int seedState) { this.numStates = numStates; this.seedState = seedState; } public int getSeedState() { return this.seedState; } }