Class VersionHistoryImpl

java.lang.Object
org.alfresco.repo.version.common.VersionHistoryImpl
All Implemented Interfaces:
Serializable, VersionHistory

public class VersionHistoryImpl extends Object implements VersionHistory
Version History implementation.
Author:
Roy Wetherall
See Also:
  • Constructor Details

    • VersionHistoryImpl

      public VersionHistoryImpl(Version rootVersion, Comparator<Version> versionComparatorDesc)
      Constructor, ensures the root version is set.
      Parameters:
      rootVersion - the root version, can not be null.
      versionComparatorDesc - optional comparator of versions.
  • Method Details

    • getRootVersion

      public Version getRootVersion()
      Gets the root (initial / least recent) version of the version history.
      Specified by:
      getRootVersion in interface VersionHistory
      Returns:
      the root version
    • getHeadVersion

      public Version getHeadVersion()
      Gets the head (current / most recent) version of the version history.
      Specified by:
      getHeadVersion in interface VersionHistory
      Returns:
      the head version
    • getAllVersions

      public Collection<Version> getAllVersions()
      Gets a collection containing all the versions within the version history.

      Versions are returned in descending create date order (most recent first).

      Specified by:
      getAllVersions in interface VersionHistory
      Returns:
      collection containing all the versions
    • getPredecessor

      public Version getPredecessor(Version version)
      Gets the predecessor of a specified version
      Specified by:
      getPredecessor in interface VersionHistory
      Parameters:
      version - the version object
      Returns:
      the predeceeding version, null if root version
    • getSuccessors

      public Collection<Version> getSuccessors(Version version)
      Gets the succeeding versions of a specified version. If there are multiple Versions they are sorted into descending create date order (most recent first).
      Specified by:
      getSuccessors in interface VersionHistory
      Parameters:
      version - the version object
      Returns:
      a collection containing the succeeding version, empty is none
    • getVersion

      public Version getVersion(String versionLabel)
      Gets a version with a specified version label. The version label is guaranteed unique within the version history.
      Specified by:
      getVersion in interface VersionHistory
      Parameters:
      versionLabel - the version label
      Returns:
      the version object
      Throws:
      VersionDoesNotExistException - indicates requested version does not exist
    • addVersion

      public void addVersion(Version version, Version predecessor)
      Add a version to the version history, in the order they were created.

      Used internally to build the version history tree.

      Parameters:
      version - the version object
      predecessor - the preceeding version
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Since:
      4.1.7