package de.cinovo.cloudconductor.server.model; import java.io.Serializable; import de.taimos.dao.IEntity; /** * Copyright 2014 Cinovo AG<br> * <br> * * @author psigloch * @param <I> version class * */ public interface IVersionized<I> extends IEntity<I>, Serializable { /** * @return the version of the element */ I getVersion(); /** * @param version the version */ void setVersion(I version); /** * @return whether the version has been deleted or not */ boolean isDeleted(); /** * @param deleted state */ void setDeleted(boolean deleted); /** * @param id the id */ void setId(I id); /** * @param id the original id */ void setOrigId(I id); /** * @return the original id */ I getOrigId(); /** * @return the cloned object */ IEntity<I> cloneNew(); }