package com.bagri.core; import java.util.Date; /** * An entity which can have many versions * * @author Denis Sukhoroslov * */ public interface Versionable { /** * * @return the version number */ int getVersion(); /** * * @return the dat/time when version was created */ Date getCreatedAt(); /** * * @return the user who has created the version */ String getCreatedBy(); /** * to update entity: create a new entity version * * @param by the user who updates the version */ void updateVersion(String by); }