package ch.asynk; public interface AbstractModel { boolean isUnsaved(); TObject self(); AbstractMapper getDAO(); default void save() { getDAO().save(self()); } default int delete() { return getDAO().delete(self()); } }