User:Simpsons contributor/Cellular automaton interface

package cellularautomaton;

import java.io.IOException;

/** * An interface defining all abstract methods that a cellular automaton * object requires * @author George Miller */

public interface CellularAutomaton {   /**     * Processes an image representing a generation * @param imageIn The current generation * @return The next generation */   public ImageHolder process(ImageHolder imageIn); /**    * Opens an image representing a generation and saves an image * representing the next generation * @param generation Path and file name of this generation * @param nextGeneration Path and file name of next generation * @throws java.io.IOException */   public void saveNextGeneration(String generation, String nextGeneration) throws IOException; /**    * Saves an image representing the next generation * @param generation This generation in the form of an ImageHolder object * @param nextGeneration Path and file name of next generation * @throws java.io.IOException */   public void saveNextGeneration(ImageHolder generation, String nextGeneration) throws IOException; }