package regexgolf2.services.persistence.saving;
import regexgolf2.services.persistence.PersistenceException;
/**
* Interface that every class needs to implement, if it can be persisted.
* This Interface is part of a Visitor pattern, the {@link #accept(SaveVisitor)} method be implemented like
* {@code visitor.visit(this);}. This will lead to a compilation error in the {@link SaveVisitor} interface,
* where the {@code visit} method needs to be added.
*/
public interface Savable
{
void accept(SaveVisitor visitor) throws PersistenceException;
}