org.olat.core.util.vfs.version
Class VersionsManager

java.lang.Object
  extended by org.olat.core.util.vfs.version.VersionsManager
Direct Known Subclasses:
VersionsFileManager

public abstract class VersionsManager
extends java.lang.Object

Description:

Initial Date: 21 sept. 2009

Author:
srosse

Constructor Summary
VersionsManager()
           
 
Method Summary
abstract  boolean addToRevisions(Versionable currentVersion, Identity author, java.lang.String comment)
           
abstract  boolean addVersion(Versionable currentVersion, Identity author, java.lang.String comment, java.io.InputStream newVersion)
          Add a new version of the file.
abstract  Versions createVersionsFor(VFSLeaf leaf)
          Get or create the versions datas of this file
abstract  boolean delete(VFSItem item, boolean force)
          Delete a full container
abstract  boolean deleteRevisions(Versionable currentVersion, java.util.List<VFSRevision> revisionsToDelete)
          Delete a list of revisions from a file
abstract  boolean deleteVersions(java.util.List<Versions> versions)
          Delete and remove from versioning a list of deleted versions (files)
abstract  java.util.List<Versions> getDeletedFiles(VFSContainer container)
          Return the list of deleted files in this container.
static VersionsManager getInstance()
           
abstract  java.lang.String getNextRevisionNr(Versions versions)
          Only used internally
abstract  boolean move(Versionable currentVersion, VFSContainer container)
          Move a versioned file to the target container
abstract  boolean rename(VFSItem item, java.lang.String newname)
          Rename a file and propagate the change to the version.
abstract  boolean restore(Versionable currentVersion, VFSRevision version, java.lang.String comment)
          Restore a versioned file to the selected revision.
abstract  boolean restore(VFSContainer container, VFSRevision revision)
          Restore a revision in the target container, usefull to restore deleted files
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VersionsManager

public VersionsManager()
Method Detail

getInstance

public static VersionsManager getInstance()

createVersionsFor

public abstract Versions createVersionsFor(VFSLeaf leaf)
Get or create the versions datas of this file

Parameters:
a - file
Returns:

getDeletedFiles

public abstract java.util.List<Versions> getDeletedFiles(VFSContainer container)
Return the list of deleted files in this container.

Parameters:
container -
Returns:

getNextRevisionNr

public abstract java.lang.String getNextRevisionNr(Versions versions)
Only used internally

Parameters:
versions -
Returns:

addVersion

public abstract boolean addVersion(Versionable currentVersion,
                                   Identity author,
                                   java.lang.String comment,
                                   java.io.InputStream newVersion)
Add a new version of the file. The current version will be saved and secured, The new version replaced the old one.

Parameters:
currentVersion -
author -
comment -
newVersion -
Returns:

addToRevisions

public abstract boolean addToRevisions(Versionable currentVersion,
                                       Identity author,
                                       java.lang.String comment)

move

public abstract boolean move(Versionable currentVersion,
                             VFSContainer container)
Move a versioned file to the target container

Parameters:
currentVersion -
target - container
Returns:

restore

public abstract boolean restore(Versionable currentVersion,
                                VFSRevision version,
                                java.lang.String comment)
Restore a versioned file to the selected revision. The current version is secured before being replaced by the revision's file

Parameters:
currentVersion -
version -
Returns:

restore

public abstract boolean restore(VFSContainer container,
                                VFSRevision revision)
Restore a revision in the target container, usefull to restore deleted files

Parameters:
target - container
selected - revision
Returns:

deleteRevisions

public abstract boolean deleteRevisions(Versionable currentVersion,
                                        java.util.List<VFSRevision> revisionsToDelete)
Delete a list of revisions from a file

Parameters:
currentVersion -
revisionsToDelete -
Returns:

deleteVersions

public abstract boolean deleteVersions(java.util.List<Versions> versions)
Delete and remove from versioning a list of deleted versions (files)

Parameters:
versions -
Returns:

delete

public abstract boolean delete(VFSItem item,
                               boolean force)
Delete a full container

Parameters:
container -
force, - if true delete it definitely (the deleted files don't appear in the list of deleted files)
Returns:

rename

public abstract boolean rename(VFSItem item,
                               java.lang.String newname)
Rename a file and propagate the change to the version.

Parameters:
item -
newname -
Returns: