Class ReadWriteVersionManager

java.lang.Object
org.apache.jackrabbit.oak.plugins.version.ReadOnlyVersionManager
org.apache.jackrabbit.oak.plugins.version.ReadWriteVersionManager

public class ReadWriteVersionManager extends ReadOnlyVersionManager
Extends the ReadOnlyVersionManager with methods to modify the version store.
  • Constructor Details

    • ReadWriteVersionManager

      public ReadWriteVersionManager(NodeBuilder versionStorageNode, NodeBuilder workspaceRoot)
  • Method Details

    • getOrCreateVersionHistory

      @NotNull public @NotNull NodeBuilder getOrCreateVersionHistory(@NotNull @NotNull NodeBuilder versionable, @NotNull @NotNull Map<String,Object> infoMap)
      Gets or creates the version history for the given versionable node.
      Parameters:
      versionable - the versionable node.
      infoMap - The additional information as provided by CommitInfo.getInfo()
      Returns:
      the version history node.
      Throws:
      IllegalArgumentException - if the given node does not have a jcr:uuid property.
    • checkout

      public void checkout(NodeBuilder versionable)
    • checkin

      public void checkin(@NotNull @NotNull NodeBuilder versionable) throws CommitFailedException
      Throws:
      CommitFailedException
    • restore

      public void restore(@NotNull @NotNull NodeBuilder versionable, @NotNull @NotNull String versionUUID, @Nullable @Nullable org.apache.jackrabbit.oak.plugins.version.VersionSelector selector) throws CommitFailedException
      Throws:
      CommitFailedException
    • removeVersionLabel

      public void removeVersionLabel(@NotNull @NotNull String historyRelPath, @NotNull @NotNull String label) throws CommitFailedException
      Removes a version label from the jcr:versionLabels node of the referenced version history.
      Parameters:
      historyRelPath - relative path from the jcr:versionStorage node to the version history node.
      label - the version label.
      Throws:
      CommitFailedException - if there is no such version history or if there is no label with the given name.