package org.wyona.yarep.core; import java.util.Date; /** * A revision of a repository node. */ public interface Revision extends Node { /** * Gets the name which identifies this revision. * The revision name is set by the implementation and cannot be changed because * it uniquely identifies this revision among all other revisions of this node. * @return revision name * @throws RepositoryException */ public String getRevisionName() throws RepositoryException; /** * Gets the tag of this revision. * Tags may be used by an application to mark certain revisions. * @return tag or null if there is no tag * @throws RepositoryException */ public String getTag() throws RepositoryException; /** * Sets the tag of this revision. * Tags may be used by an application to mark certain revisions. * @param tag * @throws RepositoryException */ public void setTag(String tag) throws RepositoryException; /** * Indicates whether this revision has a tag or not. * @return true if this revision has a tag, false otherwise. * @throws RepositoryException */ public boolean hasTag() throws RepositoryException; /** * Gets the date when this revision was created. * @return creation date * @throws RepositoryException */ public Date getCreationDate() throws RepositoryException; /** * Gets a string representing the user who created this revision. * @return user id * @throws RepositoryException */ public String getCreator() throws RepositoryException; /** * Gets the comment which was given when this revision was created. * @return comment * @throws RepositoryException */ public String getComment() throws RepositoryException; }